-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdocker-compose.yml
117 lines (103 loc) · 2.97 KB
/
docker-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
111
112
113
114
115
116
117
x-base: &base
restart: always
networks:
- internal
x-cgwire: &cgwire-base
env_file:
- ./env/cgwire
x-zou-volumes: &zou-volumes
volumes:
- zou-previews:/opt/zou/previews
- zou-tmp:/tmp/zou
services:
# SILEX ---------------------------------------------------------------------
docs:
<<: *base
container_name: ${COMPOSE_PROJECT_NAME:-silex}-docs
image: ghcr.io/artfxdev/silex-doc:latest
ports:
- "80"
hostname: silex-doc
front:
<<: *base
container_name: ${COMPOSE_PROJECT_NAME:-silex}-front
image: ghcr.io/artfxdev/silex-front:latest
ports:
- "80"
hostname: silex-front
# CGWIRE ---------------------------------------------------------------------
zou-db:
<<: [*base, *cgwire-base]
container_name: ${COMPOSE_PROJECT_NAME:-silex}-zou-db-${DB_VERSION:-12}
image: postgres:${DB_VERSION:-12}-alpine
volumes:
- zou-db:/var/lib/postgresql/data
- ./postgres/pg_ctl.conf:/etc/postgresql/${DB_VERSION:-12}/main/pg_ctl.conf:ro
zou-app:
<<: [*base, *cgwire-base, *zou-volumes]
container_name: ${COMPOSE_PROJECT_NAME:-silex}-zou-app
image: ghcr.io/artfxdev/zou:latest
hostname: zou-app
depends_on:
- zou-db
ports:
- "5000"
command: "gunicorn --error-logfile - --access-logfile - -w 3 -k gevent -b :5000 zou.app:app"
zou-redis:
<<: [*base, *cgwire-base]
container_name: ${COMPOSE_PROJECT_NAME:-silex}-zou-redis
image: redis:alpine
volumes:
- "zou-redis:/data"
zou-event:
<<: [*base, *cgwire-base]
container_name: ${COMPOSE_PROJECT_NAME:-silex}-zou-event
image: ghcr.io/artfxdev/zou:latest
depends_on:
- zou-redis
ports:
- "5001"
command: "gunicorn --error-logfile - --access-logfile - -w 1 -k geventwebsocket.gunicorn.workers.GeventWebSocketWorker -b :5001 zou.event_stream:app"
hostname: zou-event
zou-jobs:
<<: [*base, *cgwire-base, *zou-volumes]
container_name: ${COMPOSE_PROJECT_NAME:-silex}-zou-jobs
depends_on:
- zou-event
image: ghcr.io/artfxdev/zou:latest
command: "rq worker -c zou.job_settings"
kitsu:
<<: [*base, *cgwire-base]
container_name: ${COMPOSE_PROJECT_NAME:-silex}-kitsu
image: ghcr.io/artfxdev/kitsu:latest
ports:
- "80"
hostname: kitsu
depends_on:
- zou-app
- zou-event
- zou-jobs
# NGINX ----------------------------------------------------------------------------
nginx:
<<: *base
container_name: ${COMPOSE_PROJECT_NAME:-silex}-nginx
build:
context: ./nginx
depends_on:
- zou-app
- kitsu
ports:
- "${PORT:-80}:80"
networks:
internal:
name: ${COMPOSE_PROJECT_NAME:-silex}-internal
driver: bridge
volumes:
zou-db:
name: ${COMPOSE_PROJECT_NAME:-silex}-zou-db
zou-redis:
name: ${COMPOSE_PROJECT_NAME:-silex}-zou-redis
zou-previews:
name: ${COMPOSE_PROJECT_NAME:-silex}-zou-previews
zou-tmp:
name: ${COMPOSE_PROJECT_NAME:-silex}-zou-tmp