-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose-traefik.yml
74 lines (69 loc) · 2.43 KB
/
docker-compose-traefik.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
services:
lobaro-platform:
image: 072286380570.dkr.ecr.eu-central-1.amazonaws.com/lobaro-backend:${RELEASE?}
restart: always
volumes:
# You need to put a application.toml to ./lobaro-backend/config/application.toml
# Default can even be empty, important values are set as ENV below
# See: https://platform.lobaro.com/docs/administration/server-configuration
- ./lobaro-platform/config:/server/config
# Place your license.json into ./lobaro-platform/data/license/license.json
- ./lobaro-platform/data:/server/data
networks:
- database
- traefik-public
environment:
- SERVER__DEVMODE=false
- SERVER__BIND=:8000
- SERVER__FRONTENDURL=${FRONTEND_URL?}
- SERVER__APITOKENSECRET=${API_TOKEN_SECRET?}
- SERVER__OAUTHTOKENSECRET=${OAUTH_TOKEN_SECRET?}
- SERVER__OAUTHREFRESHTOKENSECRET=${OAUTH_REFRESH_TOKEN_SECRET?}
- DATABASE__HOST=database
- DATABASE__PASSWORD=${DATABASE_PASSWORD?}
- CONFIG=/server/config/application.toml
labels:
- traefik.enable="true"
- traefik.http.services.lob-platform.loadbalancer.server.port="8000"
- traefik.http.routers.lob-platform.rule="Host(`${FRONTEND_HOST?}`)"
- traefik.http.routers.lob-platform.tls="true"
- traefik.http.routers.lob-platform.tls.certresolver="letsencrypt"
ports:
- 5683:5683/udp # coap
- 5684:5684/udp # coaps
- 1883:1883/tcp # mqtt
- 8883:8883/tcp # mqtts
depends_on:
- database
database:
image: timescale/timescaledb:${TIMESCALEDB_RELEASE?}
restart: always
environment:
POSTGRES_PASSWORD: ${DATABASE_PASSWORD?}
volumes:
- ./db-data:/var/lib/postgresql/data
networks:
- database
reverse-proxy:
image: traefik:${TRAEFIK_RELEASE?}
restart: always
command: |
--providers.docker=true
--providers.docker.exposedbydefault=false
--providers.docker.network=traefik-public
--entryPoints.web.address=:80
--entryPoints.web.http.redirections.entryPoint.to=websecure
--entryPoints.websecure.address=:443
--certificatesResolvers.letsencrypt.acme.email=${LETSENCRYPT_EMAIL?}
--certificatesResolvers.letsencrypt.acme.storage=/etc/traefik/acme.json
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- traefik_data:/etc/traefik
ports:
- 80:80
- 443:443
volumes:
traefik_data:
networks:
database:
traefik-public: