2020-06-02 00:57:20 +02:00
|
|
|
version: "3.7"
|
|
|
|
|
|
|
|
networks:
|
|
|
|
net:
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
pgdata:
|
|
|
|
|
|
|
|
x-op-service-default: &service_default
|
2020-06-08 23:17:16 +02:00
|
|
|
restart: always # unless-stopped
|
2020-06-02 00:57:20 +02:00
|
|
|
init: true
|
|
|
|
|
|
|
|
services:
|
2020-06-03 18:53:33 +02:00
|
|
|
ntpd:
|
|
|
|
<<: *service_default
|
2020-06-08 23:17:16 +02:00
|
|
|
build:
|
|
|
|
context: ./ntpd
|
2020-06-03 18:53:33 +02:00
|
|
|
image: daniviga/ntpd
|
|
|
|
networks:
|
|
|
|
- net
|
|
|
|
ports:
|
2020-06-15 22:47:55 +02:00
|
|
|
- "123:123/udp"
|
2020-06-03 18:53:33 +02:00
|
|
|
|
2020-06-02 00:57:20 +02:00
|
|
|
timescale:
|
|
|
|
<<: *service_default
|
|
|
|
image: timescale/timescaledb:latest-pg12
|
|
|
|
environment:
|
2020-06-17 20:08:10 +02:00
|
|
|
POSTGRES_USER: "beer"
|
2020-06-02 00:57:20 +02:00
|
|
|
POSTGRES_PASSWORD: "password"
|
|
|
|
volumes:
|
|
|
|
- "pgdata:/var/lib/postgresql/data"
|
|
|
|
networks:
|
|
|
|
- net
|
2020-06-08 23:17:16 +02:00
|
|
|
|
2020-06-16 22:48:58 +02:00
|
|
|
broker:
|
2020-06-02 23:20:34 +02:00
|
|
|
<<: *service_default
|
2020-06-16 22:48:58 +02:00
|
|
|
image: eclipse-mosquitto
|
2020-06-02 23:20:34 +02:00
|
|
|
networks:
|
|
|
|
- net
|
|
|
|
ports:
|
2020-06-08 23:17:16 +02:00
|
|
|
- "1883:1883"
|
2020-06-03 19:26:35 +02:00
|
|
|
|
2020-06-15 22:47:55 +02:00
|
|
|
ingress:
|
2020-06-16 22:48:58 +02:00
|
|
|
<<: *service_default
|
2020-06-15 22:47:55 +02:00
|
|
|
image: traefik:v2.2
|
|
|
|
command: --api.insecure=true --providers.docker
|
|
|
|
ports:
|
|
|
|
- "8000:80"
|
|
|
|
- "8080:8080"
|
|
|
|
networks:
|
|
|
|
- net
|
|
|
|
volumes:
|
|
|
|
# So that Traefik can listen to the Docker events
|
|
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
|
|
|
2020-06-17 20:08:10 +02:00
|
|
|
beer:
|
2020-06-03 19:26:35 +02:00
|
|
|
<<: *service_default
|
2020-06-15 22:47:55 +02:00
|
|
|
build:
|
|
|
|
context: ..
|
|
|
|
dockerfile: ./docker/django/Dockerfile
|
2020-06-17 20:08:10 +02:00
|
|
|
image: daniviga/beer
|
2020-06-15 22:47:55 +02:00
|
|
|
volumes:
|
2020-06-17 20:08:10 +02:00
|
|
|
- "../beer:/srv/app/beer"
|
2020-06-15 22:47:55 +02:00
|
|
|
command: ["python3", "manage.py", "runserver", "0.0.0.0:8000"]
|
2020-06-03 19:26:35 +02:00
|
|
|
networks:
|
|
|
|
- net
|
2020-06-15 22:47:55 +02:00
|
|
|
depends_on:
|
2020-06-15 22:53:02 +02:00
|
|
|
- ingress
|
2020-06-15 22:47:55 +02:00
|
|
|
- data-migration
|
|
|
|
- timescale
|
|
|
|
labels:
|
2020-06-17 20:08:10 +02:00
|
|
|
- "traefik.http.routers.beer.rule=PathPrefix(`/`)"
|
2020-06-15 22:47:55 +02:00
|
|
|
|
|
|
|
data-migration:
|
2020-06-17 20:08:10 +02:00
|
|
|
image: daniviga/beer
|
2020-06-15 22:47:55 +02:00
|
|
|
volumes:
|
2020-06-17 20:08:10 +02:00
|
|
|
- "../beer:/srv/app/beer"
|
|
|
|
command: ["dockerize", "-wait", "tcp://timescale:5432", "python3", "manage.py", "migrate", "--noinput"]
|
2020-06-15 22:47:55 +02:00
|
|
|
networks:
|
|
|
|
- net
|
2020-06-17 20:08:10 +02:00
|
|
|
depends_on:
|
|
|
|
- timescale
|
2020-06-15 22:47:55 +02:00
|
|
|
|
|
|
|
mqtt-to-db:
|
|
|
|
<<: *service_default
|
2020-06-17 20:08:10 +02:00
|
|
|
image: daniviga/beer
|
2020-06-15 22:47:55 +02:00
|
|
|
volumes:
|
2020-06-17 20:08:10 +02:00
|
|
|
- "../beer:/srv/app/beer"
|
2020-06-15 22:47:55 +02:00
|
|
|
command: ["python3", "manage.py", "mqtt-to-db"]
|
|
|
|
networks:
|
|
|
|
- net
|
|
|
|
depends_on:
|
|
|
|
- data-migration
|
|
|
|
- timescale
|
2020-06-16 22:48:58 +02:00
|
|
|
- broker
|