-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathdocker-compose.prod.yml
More file actions
69 lines (62 loc) · 2.28 KB
/
Copy pathdocker-compose.prod.yml
File metadata and controls
69 lines (62 loc) · 2.28 KB
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
# Production overrides
# Usage: docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d
services:
nginx:
restart: always
volumes:
# In production, use named volumes instead of bind mounts
- app_code:/var/www/html:ro
- uploads:/var/www/html/offensive/uploads:rw
- zips:/var/www/html/offensive/zips:rw
- quarantine:/var/www/html/offensive/quarantine:rw
# Mount production SSL certificates
- ./services/nginx/certs/production:/etc/ssl/certs:ro
- ./services/nginx/private/production:/etc/ssl/private:ro
php:
restart: always
environment:
- TMBO_ENV=production
volumes:
- app_code:/var/www/html
- uploads:/var/www/html/offensive/uploads:rw
- zips:/var/www/html/offensive/zips:rw
- quarantine:/var/www/html/offensive/quarantine:rw
- ./admin/.config.prod:/var/www/html/admin/.config:ro
# Overrides the development php.ini baked into the image: disables
# display_errors/expose_php and hardens session cookies. Loaded from
# conf.d so it applies after php.ini.
- ./services/php/php-production.ini:/usr/local/etc/php/conf.d/zz-production.ini:ro
db:
restart: always
ports: [] # Don't expose database port in production
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE:-tmbo}
MYSQL_USER: ${MYSQL_USER:-tmbo}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
redis:
restart: always
realtime:
restart: always
environment:
- NODE_ENV=production
volumes:
- ./admin/.config.prod:/app/admin/.config:ro
cron:
restart: always
profiles: [] # Always run cron in production (remove profile requirement)
volumes:
- app_code:/var/www/html
- uploads:/var/www/html/offensive/uploads:rw
- zips:/var/www/html/offensive/zips:rw
- quarantine:/var/www/html/offensive/quarantine:rw
- ./admin/.config.prod:/var/www/html/admin/.config:ro
# Overrides the development php.ini baked into the image: disables
# display_errors/expose_php and hardens session cookies. Loaded from
# conf.d so it applies after php.ini.
- ./services/php/php-production.ini:/usr/local/etc/php/conf.d/zz-production.ini:ro
volumes:
app_code:
uploads:
zips:
quarantine: