1
0
mirror of https://github.com/daniviga/bite.git synced 2025-02-16 21:49:15 +01:00
bite/docker/docker-compose.yml

100 lines
2.1 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: "freedcs"
POSTGRES_PASSWORD: "password"
volumes:
- "pgdata:/var/lib/postgresql/data"
networks:
- net
rabbitmq:
<<: *service_default
image: rabbitmq:3-management-alpine
# environment: # we use unauth access atm
# RABBITMQ_DEFAULT_VHOST: "freedcs"
# RABBITMQ_DEFAULT_USER: "freedcs"
# RABBITMQ_DEFAULT_PASS: "password"
volumes:
- ./rabbitmq/enabled_plugins:/etc/rabbitmq/enabled_plugins
networks:
- net
ports:
- "1883:1883"
- "15672:15672"
ingress:
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
freedcs:
<<: *service_default
build:
context: ..
dockerfile: ./docker/django/Dockerfile
image: daniviga/freedcs
volumes:
- "../freedcs:/srv/freedcs"
command: ["python3", "manage.py", "runserver", "0.0.0.0:8000"]
networks:
- net
depends_on:
- ingress
- data-migration
- timescale
labels:
- "traefik.http.routers.freedcs.rule=PathPrefix(`/`)"
data-migration:
image: daniviga/freedcs
volumes:
- "../freedcs:/srv/freedcs"
command: ["python3", "manage.py", "migrate", "--noinput"]
networks:
- net
mqtt-to-db:
<<: *service_default
image: daniviga/freedcs
volumes:
- "../freedcs:/srv/freedcs"
command: ["python3", "manage.py", "mqtt-to-db"]
networks:
- net
depends_on:
- data-migration
- timescale
- rabbitmq