-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcompose.yml
More file actions
114 lines (102 loc) · 3.13 KB
/
compose.yml
File metadata and controls
114 lines (102 loc) · 3.13 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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
name: smib
x-common: &common
env_file: .env
restart: unless-stopped
networks:
- smib-bridge-network
services:
smib:
<<: *common
container_name: smib
hostname: smib
image: smib
build: .
environment:
SMIB_DB_MONGO_DB_HOST: ${SMIB_DB_MONGO_DB_HOST:-smib-db}
volumes:
- ./static:/app/static
depends_on:
- smib-db
labels:
- "traefik.group=smib"
# API router
- "traefik.http.routers.smib.rule=PathPrefix(`${SMIB_WEBSERVER_PATH_PREFIX:-/}`)"
- "traefik.http.services.smib.loadbalancer.server.port=${SMIB_WEBSERVER_PORT:-80}"
- "traefik.http.middlewares.smib-stripprefix.stripprefix.prefixes=${SMIB_WEBSERVER_PATH_PREFIX:-/}"
- "traefik.http.routers.smib.middlewares=smib-stripprefix@docker"
- "traefik.http.routers.smib.priority=5"
smib-db:
<<: *common
image: mongo:${SMIB_COMPOSE_MONGO_DB_TAG:-8.2.6}
container_name: smib-db
healthcheck:
test:
[
"CMD-SHELL",
"mongosh --quiet --eval \"db.adminCommand('ping').ok\" || mongo --quiet --eval \"db.adminCommand('ping').ok\""
]
interval: 10s
timeout: 5s
retries: 5
volumes:
- ./db/:/data/db
smib-db-ui:
<<: *common
image: mongo-express:1.0.2-18-alpine3.19
container_name: smib-db-ui
depends_on:
- smib-db
environment:
ME_CONFIG_MONGODB_URL: ${SMIB_COMPOSE_ME_MONGO_DB_URL:-mongodb://smib-db:27017/}
ME_CONFIG_SITE_BASEURL: /database/ui
labels:
- "traefik.group=smib"
- "traefik.http.routers.smib-db-ui.rule=PathPrefix(`/database/ui`)"
healthcheck:
test: ["CMD-SHELL", "wget --spider --quiet http://0.0.0.0:8081/database/ui/status || exit 1"]
interval: 30s
timeout: 5s
retries: 3
start_period: 10s
smib-proxy:
<<: *common
container_name: smib-proxy
hostname: smib-proxy
image: traefik:v3.6.12
command:
- --providers.docker=true
- --providers.docker.endpoint=tcp://smib-socket-proxy:2375
- --providers.docker.exposedbydefault=true
- --providers.docker.network=smib-bridge-network
- --providers.docker.constraints=Label("com.docker.compose.project", "smib") && Label(`traefik.group`, `smib`)
- --serversTransport.insecureSkipVerify=true
- --entrypoints.web.address=:80
- --entrypoints.web.asDefault=true
- --entrypoints.web.forwardedHeaders.trustedIPs=${SMIB_PROXY_TRUSTED_PROXIES:-0.0.0.0/0}
- --api.dashboard=false
- --api.debug=false
- --ping=true
healthcheck:
test: traefik healthcheck --ping
ports:
- "${SMIB_PROXY_EXTERNAL_PORT:-80}:80"
depends_on:
- smib-socket-proxy
smib-socket-proxy:
<<: *common
container_name: smib-socket-proxy
image: tecnativa/docker-socket-proxy:v0.4.2
healthcheck:
test: wget --spider http://localhost:2375/version || exit 1
environment:
- LOG_LEVEL=warning
- EVENTS=1
- PING=1
- VERSION=1
- CONTAINERS=1
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
smib-bridge-network:
name: smib-bridge-network
driver: bridge