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