mirror of
https://github.com/daniviga/bite.git
synced 2025-02-17 05:59:14 +01:00
96 lines
1.9 KiB
YAML
96 lines
1.9 KiB
YAML
version: "3.7"
|
|
|
|
networks:
|
|
net:
|
|
|
|
volumes:
|
|
pgdata:
|
|
|
|
x-op-service-default: &service_default
|
|
restart: always # unless-stopped
|
|
init: true
|
|
|
|
services:
|
|
ntpd:
|
|
<<: *service_default
|
|
build:
|
|
context: ./ntpd
|
|
image: daniviga/ntpd
|
|
networks:
|
|
- net
|
|
ports:
|
|
- "123:123/udp"
|
|
|
|
timescale:
|
|
<<: *service_default
|
|
image: timescale/timescaledb:latest-pg12
|
|
environment:
|
|
POSTGRES_USER: "beer"
|
|
POSTGRES_PASSWORD: "password"
|
|
volumes:
|
|
- "pgdata:/var/lib/postgresql/data"
|
|
networks:
|
|
- net
|
|
|
|
broker:
|
|
<<: *service_default
|
|
image: eclipse-mosquitto
|
|
networks:
|
|
- net
|
|
ports:
|
|
- "1883:1883"
|
|
|
|
ingress:
|
|
<<: *service_default
|
|
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
|
|
|
|
beer:
|
|
<<: *service_default
|
|
build:
|
|
context: ..
|
|
dockerfile: ./docker/django/Dockerfile
|
|
image: daniviga/beer
|
|
volumes:
|
|
- "../beer:/srv/app/beer"
|
|
command: ["python3", "manage.py", "runserver", "0.0.0.0:8000"]
|
|
networks:
|
|
- net
|
|
depends_on:
|
|
- ingress
|
|
- data-migration
|
|
- timescale
|
|
labels:
|
|
- "traefik.http.routers.beer.rule=PathPrefix(`/`)"
|
|
|
|
data-migration:
|
|
image: daniviga/beer
|
|
volumes:
|
|
- "../beer:/srv/app/beer"
|
|
command: ["dockerize", "-wait", "tcp://timescale:5432", "python3", "manage.py", "migrate", "--noinput"]
|
|
networks:
|
|
- net
|
|
depends_on:
|
|
- timescale
|
|
|
|
mqtt-to-db:
|
|
<<: *service_default
|
|
image: daniviga/beer
|
|
volumes:
|
|
- "../beer:/srv/app/beer"
|
|
command: ["python3", "manage.py", "mqtt-to-db"]
|
|
networks:
|
|
- net
|
|
depends_on:
|
|
- data-migration
|
|
- timescale
|
|
- broker
|