-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
88 lines (81 loc) · 2.05 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
version: '3.8'
networks:
default:
driver: overlay
services:
db:
image: postgres:12-alpine
env_file:
- .env.db
volumes:
- /var/lib/postgresql
networks:
- default
front:
image: "docker.pkg.github.com/squadster/squadster-frontend/frontend-release:latest"
command: bash -c "serve -p 3000 -s ."
networks:
- default
deploy:
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
api:
image: "docker.pkg.github.com/squadster/squadster-api/release:latest"
command: bash -c "bin/squadster start"
networks:
- default
depends_on:
- db
deploy:
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
bot:
image: "docker.pkg.github.com/squadster/mercury/bot:latest"
command: sh -c "java --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED -Dspring.profiles.active=release -jar /app.jar"
networks:
- default
depends_on:
- db
deploy:
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
nginx:
image: "docker.pkg.github.com/squadster/squadster-deployment/nginx:latest"
networks:
- default
ports:
- target: 80
published: 80
- target: 443
published: 443
depends_on:
- api
- front
environment:
TZ: Etc/UTC
LETSENCRYPT: 'true'
LE_EMAIL: [email protected]
LE_FQDN: squadster.wtf
SSL_CERT: le-crt.pem
SSL_KEY: le-key.pem
SSL_CHAIN_CERT: le-chain-crt.pem
# autoupdate services when their base image is refreshed
# https://github.com/djmaze/shepherd
shepherd:
image: mazzolino/shepherd
environment:
- IMAGE_AUTOCLEAN_LIMIT=2
- WITH_REGISTRY_AUTH=true
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /home/artoriousso/.docker/config.json:/root/.docker/config.json # NOTE: host path can be different on other servers
deploy:
placement:
constraints:
- node.role == manager