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