-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
119 lines (113 loc) · 2.72 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
118
119
version: '3.8'
services:
mysql:
image: 'mysql:8'
environment:
- MYSQL_DATABASE=${DB_DATABASE}
- MYSQL_USER=${DB_USERNAME}
- MYSQL_PASSWORD=${DB_PASSWORD}
- MYSQL_RANDOM_ROOT_PASSWORD=true
networks:
- backend
redis:
image: 'bitnami/redis:7.0'
environment:
- REDIS_PASSWORD
- REDIS_TLS_ENABLED
networks:
- backend
echo:
image: 'quay.io/soketi/soketi:1.1.0-16-debian'
ports:
- "6001:6001"
environment:
- SOKETI_DEBUG
- SOKETI_SSL_CERT
- SOKETI_SSL_KEY
- SOKETI_SSL_PASS
- SOKETI_DEFAULT_APP_ID
- SOKETI_DEFAULT_APP_KEY
- SOKETI_DEFAULT_APP_SECRET
- SOKETI_DEFAULT_APP_WEBHOOKS
- SOKETI_DB_REDIS_HOST
- SOKETI_DB_REDIS_PORT
- SOKETI_DB_REDIS_PASSWORD
- SOKETI_DB_REDIS_DB
- SOKETI_ADAPTER_DRIVER
- SOKETI_CACHE_DRIVER
- SOKETI_QUEUE_DRIVER
- SOKETI_DB_REDIS_KEY_PREFIX
- SOKETI_APP_MANAGER_CACHE_ENABLED
depends_on:
- redis
networks:
- backend
api:
build:
context: .
dockerfile: api.Dockerfile
args:
APP_ENV: "${APP_ENV:-production}"
image: xorinzor/shoutz0r-backend:${APP_ENV}
ports:
- "${APP_PORT}:${OCTANE_PORT}"
env_file:
- ./.env
volumes:
- tmp:/code
- storage_temp:/code/storage/app/temp
- storage_media:/code/storage/app/media
- storage_albums:/code/storage/app/album
depends_on:
- redis
- mysql
networks:
- backend
- shoutzor_api
worker:
build:
context: .
dockerfile: ./worker.Dockerfile
image: xorinzor/shoutz0r-worker
env_file:
- ./.env
volumes:
- tmp:/code
- storage_temp:/code/storage/app/temp
- storage_media:/code/storage/app/media
- storage_albums:/code/storage/app/album
depends_on:
- mysql
- redis
networks:
- backend
volumes:
# The default mount for the app directory, changes in here should not be persisted.
tmp:
# The directory where processed media files can be found
storage_media:
driver: local
driver_opts:
o: bind
type: none
device: "${PWD}/storage/app/media"
# The directory where album images can be found
storage_albums:
driver: local
driver_opts:
o: bind
type: none
device: "${PWD}/storage/app/album"
# The directory where uploaded files (before they're processed) can be found
storage_temp:
driver: local
driver_opts:
o: bind
type: none
device: "${PWD}/storage/app/temp"
networks:
backend:
enable_ipv6: false
# Separate network to allow other docker-compose projects to connect to the API
shoutzor_api:
name: shoutzor_api