-
Notifications
You must be signed in to change notification settings - Fork 0
/
compose.yml
110 lines (100 loc) · 2.46 KB
/
compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
version: '3.8'
services:
# MongoDB database
database:
image: mongo
env_file: .env
restart: always
volumes:
- ${DATA_LOCATION}/data/db:/data/db
# Redis server
redis:
image: eqalpha/keydb
restart: always
# REVOLT API server (Delta)
api:
container_name: revolt-api
image: revoltchat/server
env_file: .env
depends_on:
- database
- redis
environment:
- REVOLT_MONGO_URI=mongodb://database
- REVOLT_REDIS_URI=redis://redis/
ports:
- "$REVOLT_API_PORT:8000"
- "$REVOLT_API_WS_PORT:9000"
restart: always
# REVOLT Web App
web:
container_name: revolt-web
image: revoltchat/client:master
env_file: .env
ports:
- "$REVOLT_APP_PORT:5000"
restart: always
# S3-compatible storage server
minio:
image: minio/minio
command: server /data
env_file: .env
volumes:
- ${DATA_LOCATION}/data/minio:/data
ports:
- "$MINIO_PORT:9000"
restart: always
# Create buckets for minio.
createbuckets:
image: minio/mc
depends_on:
- minio
env_file: .env
entrypoint: >
/bin/sh -c "
while ! curl -s --output /dev/null --connect-timeout 1 http://minio:9000; do echo 'Waiting minio...' && sleep 0.1; done;
/usr/bin/mc alias set minio http://minio:9000 $MINIO_ROOT_USER $MINIO_ROOT_PASSWORD;
/usr/bin/mc mb minio/attachments;
/usr/bin/mc mb minio/avatars;
/usr/bin/mc mb minio/backgrounds;
/usr/bin/mc mb minio/icons;
/usr/bin/mc mb minio/banners;
exit 0;
"
# REVOLT file hosting service (Autumn)
autumn:
container_name: revolt-autumn
image: revoltchat/autumn
env_file: .env
depends_on:
- database
- createbuckets
environment:
- AUTUMN_MONGO_URI=mongodb://database
ports:
- "$AUTUMN_PORT:3000"
restart: always
# REVOLT metadata and image proxy (January)
january:
container_name: revolt-january
image: revoltchat/january
ports:
- "$JANUARY_PORT:7000"
restart: always
env_file:
- .env
# REVOLT voice over server (Vortex)
vortex:
container_name: revolt-vortex
image: revoltchat/vortex:0.3.0-alpha.1
restart: always
ports:
- "$VORTEX_PORT:8080"
- "$RTC_MIN_PORT-$RTC_MAX_PORT:$RTC_MIN_PORT-$RTC_MAX_PORT/tcp"
- "$RTC_MIN_PORT-$RTC_MAX_PORT:$RTC_MIN_PORT-$RTC_MAX_PORT/udp"
env_file:
- .env
networks:
default:
external: true
name: $NETWORK