Repository navigation
Expand file tree
/
Copy pathdocker-compose.prod.yml
More file actions
93 lines (88 loc) · 2.22 KB
/
Copy pathdocker-compose.prod.yml
File metadata and controls
93 lines (88 loc) · 2.22 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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
services:
db:
image: postgres:16-alpine
container_name: faraday-db
environment:
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: ${DB_NAME}
command: >
/bin/sh -c "
cp /etc/ssl/private/server.key.temp /etc/ssl/private/server.key &&
chmod 600 /etc/ssl/private/server.key &&
chown postgres:postgres /etc/ssl/private/server.key &&
docker-entrypoint.sh postgres
-c ssl=on
-c ssl_cert_file=/etc/ssl/certs/server.crt
-c ssl_key_file=/etc/ssl/private/server.key"
volumes:
- faraday_pg_data:/var/lib/postgresql/data
- ./ssl/server.crt:/etc/ssl/certs/server.crt:ro
- ./ssl/server.key:/etc/ssl/private/server.key.temp:ro
deploy:
resources:
limits:
memory: 512M
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_NAME}"]
interval: 5s
timeout: 5s
retries: 5
networks:
- faraday-network
backend:
env_file:
- .env
build:
context: ./backend/Faraday.API
dockerfile: Dockerfile
container_name: faraday-api
volumes:
- product_images:/app/wwwroot/product-images
environment:
- ASPNETCORE_ENVIRONMENT=Production
- BACKUP_ENCRYPTION_KEY=${BACKUP_ENCRYPTION_KEY}
- BACKUP_ENCRYPTION_IV=${BACKUP_ENCRYPTION_IV}
- DB_HOST=faraday-db
- CLIENT_APP_BASE_URL=https://faradaywms.pl
depends_on:
db:
condition: service_healthy
networks:
- faraday-network
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
container_name: faraday-frontend
environment:
- VITE_API_URL=https://faradaywms.pl
depends_on:
- backend
networks:
- faraday-network
caddy:
image: caddy:2-alpine
container_name: faraday-caddy
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy_data:/data
- caddy_config:/config
depends_on:
- frontend
- backend
networks:
- faraday-network
restart: unless-stopped
volumes:
faraday_pg_data:
product_images:
caddy_data:
caddy_config:
networks:
faraday-network:
driver: bridge