first commit
This commit is contained in:
commit
ef5e82539e
11 changed files with 306 additions and 0 deletions
19
compose.yaml
Normal file
19
compose.yaml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
services:
|
||||||
|
traefik:
|
||||||
|
image: traefik:latest
|
||||||
|
container_name: traefik
|
||||||
|
command:
|
||||||
|
- --api.insecure=true
|
||||||
|
- --api.dashboard=true
|
||||||
|
- --log.level=DEBUG
|
||||||
|
- --providers.docker=true
|
||||||
|
- --entrypoints.web.address=:80
|
||||||
|
# labels:
|
||||||
|
# - traefik.docker.network=docker_external
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 80:80
|
||||||
|
- 8080:8080
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
|
- .:/prod:ro
|
4
template/.env
Normal file
4
template/.env
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
SP_HOST=template.domain.tld
|
||||||
|
SP_SLUG=template
|
||||||
|
TRAEFIK_NETWORK=prod_default
|
||||||
|
TRAEFIK_BASIC_AUTH_FILE=/home/<user>/prod/template/auth
|
1
template/auth
Normal file
1
template/auth
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<to be filled>
|
150
template/compose.yaml
Normal file
150
template/compose.yaml
Normal file
|
@ -0,0 +1,150 @@
|
||||||
|
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
|
8
template/config_dwd.json
Normal file
8
template/config_dwd.json
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"pager": {
|
||||||
|
"url": "http://<DISPATCHER>/api/message/advanced"
|
||||||
|
},
|
||||||
|
"germanUmlautSupport": true,
|
||||||
|
"regions": [
|
||||||
|
]
|
||||||
|
}
|
7
template/config_metar.json
Normal file
7
template/config_metar.json
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"pager": {
|
||||||
|
"url": "http://127.0.0.1:3000/api/message/advanced"
|
||||||
|
},
|
||||||
|
"alarms": [
|
||||||
|
]
|
||||||
|
}
|
8
template/config_mowas.json
Normal file
8
template/config_mowas.json
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"pager": {
|
||||||
|
"url": "http://127.0.0.1:3000/api/message/advanced"
|
||||||
|
},
|
||||||
|
"germanUmlautSupport": true,
|
||||||
|
"regions": [
|
||||||
|
]
|
||||||
|
}
|
8
template/config_telegrambot.json
Normal file
8
template/config_telegrambot.json
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"bottoken": "",
|
||||||
|
"pager": {
|
||||||
|
"url": "http://127.0.0.1:3000/api/message/advanced"
|
||||||
|
},
|
||||||
|
"deliveryModes": [
|
||||||
|
]
|
||||||
|
}
|
7
template/config_testalarm.json
Normal file
7
template/config_testalarm.json
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"pager": {
|
||||||
|
"url": "http://127.0.0.1:3000/api/message/advanced"
|
||||||
|
},
|
||||||
|
"alarms": [
|
||||||
|
]
|
||||||
|
}
|
8
template/config_wbi_dwd.json
Normal file
8
template/config_wbi_dwd.json
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"pager": {
|
||||||
|
"url": "http://127.0.0.1:3000/api/message/advanced"
|
||||||
|
},
|
||||||
|
"alarms": [
|
||||||
|
],
|
||||||
|
"germanUmlautSupport": false
|
||||||
|
}
|
86
template/dispatcher.json
Normal file
86
template/dispatcher.json
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
{
|
||||||
|
"general": {
|
||||||
|
"port": 3000,
|
||||||
|
"configPort": 3001,
|
||||||
|
"configWebInterfaceEnabled": true
|
||||||
|
},
|
||||||
|
"connectors": {
|
||||||
|
"dummy": {
|
||||||
|
"enabled": true,
|
||||||
|
"duplexTimeout": 300
|
||||||
|
},
|
||||||
|
"pocsag": {
|
||||||
|
"enabled": false,
|
||||||
|
"duplexTimeout": 300,
|
||||||
|
"mqttserver": "mqtt://host:1883",
|
||||||
|
"username": "",
|
||||||
|
"password": "",
|
||||||
|
"topic": "pocsagtx/transmit"
|
||||||
|
},
|
||||||
|
"pagernetzAT": {
|
||||||
|
"enabled": false,
|
||||||
|
"duplexTimeout": 300
|
||||||
|
},
|
||||||
|
"ecityruf": {
|
||||||
|
"enabled": false,
|
||||||
|
"duplexTimeout": 180
|
||||||
|
},
|
||||||
|
"emPuppettering": {
|
||||||
|
"enabled": false,
|
||||||
|
"duplexTimeout": "250"
|
||||||
|
},
|
||||||
|
"emessage": {
|
||||||
|
"enabled": false,
|
||||||
|
"username": "",
|
||||||
|
"password": "",
|
||||||
|
"duplexTimeout": 180,
|
||||||
|
"responseTimeout": 320,
|
||||||
|
"startInterval": 5,
|
||||||
|
"2wayS_BackChannel": true
|
||||||
|
},
|
||||||
|
"lorawan": {
|
||||||
|
"enabled": false,
|
||||||
|
"duplexTimeout": 1800,
|
||||||
|
"mqttserver": "mqtt://eu1.cloud.thethings.network:1883",
|
||||||
|
"username": "",
|
||||||
|
"password": ""
|
||||||
|
},
|
||||||
|
"dapnet": {
|
||||||
|
"enabled": false,
|
||||||
|
"endpoint": "http://<DAPNETCore>:8080/calls",
|
||||||
|
"username": "test",
|
||||||
|
"password": "testsucks",
|
||||||
|
"duplexTimeout": 300
|
||||||
|
},
|
||||||
|
"pnet": {
|
||||||
|
"enabled": false,
|
||||||
|
"duplexTimeout": 10
|
||||||
|
},
|
||||||
|
"tetracontrol": {
|
||||||
|
"enabled": false,
|
||||||
|
"endpoint": "<TC_IP>:80",
|
||||||
|
"username": "user",
|
||||||
|
"password": "password",
|
||||||
|
"duplexTimeout": 300
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pagers": {
|
||||||
|
"birdyslim": {
|
||||||
|
"enabled": false,
|
||||||
|
"rxchain": {
|
||||||
|
"lorawan": false,
|
||||||
|
"events": {
|
||||||
|
"webhook": false,
|
||||||
|
"mqtt": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"boskrypt": {
|
||||||
|
"enabled": false,
|
||||||
|
"keys": {
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"deliveryPresets": {
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue