/
docker-compose.yml
49 lines (46 loc) · 1.29 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
version: '3.7'
services:
db:
image: postgres:13-alpine
container_name: ${COMPOSE_PROJECT_NAME}-db
networks:
- default
volumes:
- ./data/db:/var/lib/postgresql/data
env_file:
- .env
restart: unless-stopped
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U listmonk']
interval: 10s
timeout: 5s
retries: 6
app:
container_name: ${COMPOSE_PROJECT_NAME}-app
image: listmonk/listmonk:latest
labels:
- traefik.enable=true
- traefik.docker.network=${NETWORK}
- traefik.http.routers.${COMPOSE_PROJECT_NAME}.rule=Host(${DOMAINS})
- traefik.http.routers.${COMPOSE_PROJECT_NAME}.entrypoints=https
- traefik.http.routers.${COMPOSE_PROJECT_NAME}.tls=true
- traefik.http.routers.${COMPOSE_PROJECT_NAME}.tls.certresolver=letsencrypt
- traefik.http.services.${COMPOSE_PROJECT_NAME}.loadbalancer.server.port=${PORT}
networks:
- default
env_file:
- .env
depends_on:
- db
volumes:
- ./data/app/config/config.toml:/listmonk/config.toml
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/api/health"]
interval: 10s
timeout: 5s
retries: 6
networks:
default:
external:
name: ${COMPOSE_PROJECT_NAME}