docker-deploy/template/compose.yaml
2025-04-06 03:22:41 +02:00

150 lines
No EOL
6.4 KiB
YAML

networks:
traefik_network:
name: ${TRAEFIK_NETWORK}
external: true
services:
# Dispatcher
dispatcher:
image: git.cheetah.cat/smartpager/dispatcher:latest
volumes:
- ./dispatcher.json:/usr/src/app/config.json
networks:
- traefik_network
restart: unless-stopped
labels:
- traefik.http.middlewares.${SP_SLUG}_auth.basicauth.usersfile=/prod/${SP_SLUG}/auth
- traefik.docker.network=${TRAEFIK_NETWORK}
- traefik.http.routers.${SP_SLUG}_disp_main.rule=Host(`${SP_HOST}`) && PathPrefix(`/disp_main/`)
- traefik.http.routers.${SP_SLUG}_disp_main.service=${SP_SLUG}_disp_main
- traefik.http.routers.${SP_SLUG}_disp_main.middlewares=${SP_SLUG}_auth,${SP_SLUG}_disp_main_strip
- traefik.http.middlewares.${SP_SLUG}_disp_main_strip.stripprefix.prefixes=/disp_main
- traefik.http.routers.${SP_SLUG}_disp_cfg.rule=Host(`${SP_HOST}`) && PathPrefix(`/disp_cfg/`)
- traefik.http.routers.${SP_SLUG}_disp_cfg.service=${SP_SLUG}_disp_cfg
- traefik.http.routers.${SP_SLUG}_disp_cfg.middlewares=${SP_SLUG}_auth,${SP_SLUG}_disp_cfg_strip
- traefik.http.middlewares.${SP_SLUG}_disp_cfg_strip.stripprefix.prefixes=/disp_cfg
- traefik.http.services.${SP_SLUG}_disp_main.loadbalancer.server.port=3000
- traefik.http.services.${SP_SLUG}_disp_cfg.loadbalancer.server.port=3001
# Tabs
tabs:
image: git.cheetah.cat/smartpager/ui-tabs-frontend:latest
networks:
- traefik_network
restart: unless-stopped
labels:
- traefik.docker.network=${TRAEFIK_NETWORK}
- traefik.http.routers.${SP_SLUG}_tabs.middlewares=${SP_SLUG}_auth
- traefik.http.routers.${SP_SLUG}_tabs.rule=Host(`${SP_HOST}`) && (Path(`/`) || PathPrefix(`/fonts`) || PathPrefix(`/css`) || PathPrefix(`/js`))
- traefik.http.services.${SP_SLUG}_tabs.loadbalancer.server.port=3250
depends_on:
- dispatcher
# Wald/Grasbrand
msg_wbi_dwd:
image: git.cheetah.cat/smartpager/msg-wbi-dwd:latest
networks:
- traefik_network
restart: unless-stopped
environment:
DISPATCHER: "dispatcher:3000"
volumes:
- ./config_wbi_dwd.json:/usr/src/app/config.json
labels:
- traefik.docker.network=${TRAEFIK_NETWORK}
- traefik.http.routers.${SP_SLUG}_msg_wbi_dwd.rule=Host(`${SP_HOST}`) && PathPrefix(`/msg-brandgefahren_cfg/`)
- traefik.http.routers.${SP_SLUG}_msg_wbi_dwd.service=${SP_SLUG}_msg_wbi_dwd
- traefik.http.routers.${SP_SLUG}_msg_wbi_dwd.middlewares=${SP_SLUG}_auth,${SP_SLUG}_msg_wbi_dwd_strip
- traefik.http.middlewares.${SP_SLUG}_msg_wbi_dwd_strip.stripprefix.prefixes=/msg-brandgefahren_cfg
- traefik.http.services.${SP_SLUG}_msg_wbi_dwd.loadbalancer.server.port=3100
depends_on:
- dispatcher
# DWD
msg_dwd:
image: git.cheetah.cat/smartpager/msg-dwd:latest
networks:
- traefik_network
restart: unless-stopped
environment:
DISPATCHER: "dispatcher:3000"
volumes:
- ./config_dwd.json:/usr/src/app/config.json
labels:
- traefik.docker.network=${TRAEFIK_NETWORK}
- traefik.http.routers.${SP_SLUG}_msg_dwd.rule=Host(`${SP_HOST}`) && PathPrefix(`/msg-dwd_cfg/`)
- traefik.http.routers.${SP_SLUG}_msg_dwd.middlewares=${SP_SLUG}_auth,${SP_SLUG}_msg_dwd_strip
- traefik.http.middlewares.${SP_SLUG}_msg_dwd_strip.stripprefix.prefixes=/msg-dwd_cfg
- traefik.http.services.${SP_SLUG}_msg_dwd.loadbalancer.server.port=3050
depends_on:
- dispatcher
# Testalarm
msg_testalarm:
image: git.cheetah.cat/smartpager/msg-testalarm:latest
networks:
- traefik_network
restart: unless-stopped
environment:
DISPATCHER: "dispatcher:3000"
volumes:
- ./config_testalarm.json:/usr/src/app/config.json
labels:
- traefik.docker.network=${TRAEFIK_NETWORK}
- traefik.http.routers.${SP_SLUG}_msg_testalarm.rule=Host(`${SP_HOST}`) && PathPrefix(`/msg-testalarm_cfg/`)
- traefik.http.routers.${SP_SLUG}_msg_testalarm.middlewares=${SP_SLUG}_auth,${SP_SLUG}_msg_testalarm_strip
- traefik.http.middlewares.${SP_SLUG}_msg_testalarm_strip.stripprefix.prefixes=/msg-testalarm_cfg
- traefik.http.services.${SP_SLUG}_msg_testalarm.loadbalancer.server.port=3070
depends_on:
- dispatcher
# MoWaS
msg_mowas:
image: git.cheetah.cat/smartpager/msg-mowas:latest
networks:
- traefik_network
restart: unless-stopped
environment:
DISPATCHER: "dispatcher:3000"
volumes:
- ./config_mowas.json:/usr/src/app/config.json
labels:
- traefik.docker.network=${TRAEFIK_NETWORK}
- traefik.http.routers.${SP_SLUG}_msg_mowas.rule=Host(`${SP_HOST}`) && PathPrefix(`/msg-mowas_cfg/`)
- traefik.http.routers.${SP_SLUG}_msg_mowas.middlewares=${SP_SLUG}_auth,${SP_SLUG}_msg_mowas_strip
- traefik.http.middlewares.${SP_SLUG}_msg_mowas_strip.stripprefix.prefixes=/msg-mowas_cfg
- traefik.http.services.${SP_SLUG}_msg_mowas.loadbalancer.server.port=3090
depends_on:
- dispatcher
# Telegrambot
msg_telegrambot:
image: git.cheetah.cat/smartpager/msg-telegrambot:latest
networks:
- traefik_network
restart: unless-stopped
environment:
DISPATCHER: "dispatcher:3000"
volumes:
- ./config_telegrambot.json:/usr/src/app/config.json
labels:
- traefik.docker.network=${TRAEFIK_NETWORK}
- traefik.http.routers.${SP_SLUG}_msg_telegrambot.rule=Host(`${SP_HOST}`) && PathPrefix(`/msg-tg_cfg/`)
- traefik.http.routers.${SP_SLUG}_msg_telegrambot.middlewares=${SP_SLUG}_auth,${SP_SLUG}_msg_telegrambot_strip
- traefik.http.middlewares.${SP_SLUG}_msg_telegrambot_strip.stripprefix.prefixes=/msg-tg_cfg
- traefik.http.services.${SP_SLUG}_msg_telegrambot.loadbalancer.server.port=3060
depends_on:
- dispatcher
# METAR
msg_metar:
image: git.cheetah.cat/smartpager/msg-metar:latest
networks:
- traefik_network
restart: unless-stopped
environment:
DISPATCHER: "dispatcher:3000"
volumes:
- ./config_metar.json:/usr/src/app/config.json
labels:
- traefik.docker.network=${TRAEFIK_NETWORK}
- traefik.http.routers.${SP_SLUG}_msg_metar.rule=Host(`${SP_HOST}`) && PathPrefix(`/msg-metar_cfg/`)
- traefik.http.routers.${SP_SLUG}_msg_metar.middlewares=${SP_SLUG}_auth,${SP_SLUG}_msg_metar_strip
- traefik.http.middlewares.${SP_SLUG}_msg_metar_strip.stripprefix.prefixes=/msg-metar_cfg
- traefik.http.services.${SP_SLUG}_msg_metar.loadbalancer.server.port=3110
depends_on:
- dispatcher