forked from tabbled/tabbled
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yaml
107 lines (97 loc) · 2.39 KB
/
docker-compose.yaml
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
version: '3.9'
services:
reverse-proxy:
image: traefik:v2.9
# Enables the web UI and tells Traefik to listen to docker
command: --api.insecure=true --providers.docker
ports:
# The HTTP port
- "80:80"
# The Web UI (enabled by --api.insecure=true)
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
web:
image: tabbled/web:latest
container_name: "web"
labels:
- "traefik.http.routers.web.rule=Host(`localhost`)"
restart: always
depends_on:
- server
pull_policy: always
environment:
- SENTRY_DNS=${VITE_SENTRY_DNS}
- APP_TITLE=${APP_TITLE}
- APP_FAVICON=${APP_FAVICON}
server:
image: tabbled/server:latest
container_name: "server"
restart: always
ports:
- "${PORT}:${PORT}"
environment:
- DB_HOST=${DB_HOST}
- DB_PORT=5432
- DB_PASSWORD=${DB_PASSWORD}
- DB_USER=${DB_USER}
- DB_DATABASE=${DB_DATABASE}
- JWT_SECRET=${JWT_SECRET}
- S3_ACCESS_KEY=${S3_ACCESS_KEY}
- S3_SECRET_ACCESS_KEY=${S3_SECRET_ACCESS_KEY}
- S3_ENDPOINT=${S3_ENDPOINT}
- REDIS_HOST=${REDIS_HOST}
- REDIS_PORT=${REDIS_PORT}
- JSREPORT_URL=${JSREPORT_URL}
- APP_TITLE=${APP_TITLE}
- APP_FAVICON=${APP_FAVICON}
- SENTRY_DNS=${SENTRY_DNS}
extra_hosts:
- "host.docker.internal:host-gateway"
depends_on:
- db
- redis
- s3
pull_policy: always
db:
container_name: postgres
image: postgres:12-alpine
restart: always
ports:
# Not for production
- "${DB_PORT}:5432"
volumes:
- pg_data:/data/db
environment:
- POSTGRES_PASSWORD=${DB_PASSWORD}
- POSTGRES_USER=${DB_USER}
- POSTGRES_DB=${DB_DATABASE}
s3:
container_name: s3
image: quay.io/minio/minio
command: server /data --console-address ":9090"
ports:
- "9000:9000"
- "9090:9090"
environment:
- MINIO_ACCESS_KEY=${S3_ACCESS_KEY}
- MINIO_SECRET_KEY=${S3_SECRET_ACCESS_KEY}
volumes:
- minio_data:/data
redis:
image: 'redis:alpine'
container_name: redis-server
restart: always
ports:
- "${REDIS_PORT}:6379"
jsreport:
image: jsreport/jsreport:latest
container_name: jsreport
restart: always
ports:
- "5488:5488"
volumes:
pg_data:
external: true
minio_data:
external: false