clean up and add loki and ntfy
This commit is contained in:
@@ -17,19 +17,19 @@ include:
|
|||||||
- path:
|
- path:
|
||||||
- ${INFRA_PATH}/authelia/authelia.yml
|
- ${INFRA_PATH}/authelia/authelia.yml
|
||||||
- ${INFRA_PATH}/crowdsec/crowdsec.yml
|
- ${INFRA_PATH}/crowdsec/crowdsec.yml
|
||||||
# - ${INFRA_PATH}/headscale/headscale.yml
|
|
||||||
- ${INFRA_PATH}/homepage/homepage.yml
|
- ${INFRA_PATH}/homepage/homepage.yml
|
||||||
|
- ${INFRA_PATH}/ntfy/ntfy.yml
|
||||||
- ${INFRA_PATH}/speedtest/speedtest.yml
|
- ${INFRA_PATH}/speedtest/speedtest.yml
|
||||||
- ${INFRA_PATH}/syncthing/syncthing.yml
|
- ${INFRA_PATH}/syncthing/syncthing.yml
|
||||||
- ${INFRA_PATH}/traefik/traefik.yml
|
- ${INFRA_PATH}/traefik/traefik.yml
|
||||||
- ${INFRA_PATH}/uptime-kuma/uptime-kuma.yml
|
- ${INFRA_PATH}/uptime-kuma/uptime-kuma.yml
|
||||||
- ${INFRA_PATH}/watchtower/watchtower.yml
|
- ${INFRA_PATH}/watchtower/watchtower.yml
|
||||||
# - ${INFRA_PATH}/web-finger/webfinger.yml
|
|
||||||
env_file: ${INFRA_PATH}/.env
|
env_file: ${INFRA_PATH}/.env
|
||||||
|
|
||||||
- path:
|
- path:
|
||||||
- ${MONITORING_PATH}/dozzle/dozzle.yml
|
- ${MONITORING_PATH}/dozzle/dozzle.yml
|
||||||
- ${MONITORING_PATH}/grafana/grafana.yml
|
- ${MONITORING_PATH}/grafana/grafana.yml
|
||||||
|
- ${MONITORING_PATH}/loki/loki.yml
|
||||||
- ${MONITORING_PATH}/prometheus/prometheus.yml
|
- ${MONITORING_PATH}/prometheus/prometheus.yml
|
||||||
env_file: ${MONITORING_PATH}/.env
|
env_file: ${MONITORING_PATH}/.env
|
||||||
|
|
||||||
@@ -52,7 +52,6 @@ include:
|
|||||||
- ${SERVICE_PATH}/gitea/gitea.yml
|
- ${SERVICE_PATH}/gitea/gitea.yml
|
||||||
- ${SERVICE_PATH}/home-assistant/home-assistant.yml
|
- ${SERVICE_PATH}/home-assistant/home-assistant.yml
|
||||||
- ${SERVICE_PATH}/ghost/ghost.yml
|
- ${SERVICE_PATH}/ghost/ghost.yml
|
||||||
- ${SERVICE_PATH}/home-assistant/ha-addon/ha-ewelink-addon.yml
|
|
||||||
- ${SERVICE_PATH}/it-tools/it-tools.yml
|
- ${SERVICE_PATH}/it-tools/it-tools.yml
|
||||||
- ${SERVICE_PATH}/jupyter-notebook/jupyter-notebook.yml
|
- ${SERVICE_PATH}/jupyter-notebook/jupyter-notebook.yml
|
||||||
- ${SERVICE_PATH}/linkwarden/linkwarden.yml
|
- ${SERVICE_PATH}/linkwarden/linkwarden.yml
|
||||||
@@ -61,7 +60,6 @@ include:
|
|||||||
# - ${SERVICE_PATH}/ollama/ollama.yml
|
# - ${SERVICE_PATH}/ollama/ollama.yml
|
||||||
- ${SERVICE_PATH}/paperless-ngx/paperless-ngx.yml
|
- ${SERVICE_PATH}/paperless-ngx/paperless-ngx.yml
|
||||||
- ${SERVICE_PATH}/radicale/radicale.yml
|
- ${SERVICE_PATH}/radicale/radicale.yml
|
||||||
- ${SERVICE_PATH}/shlink/shlink.yml
|
|
||||||
- ${SERVICE_PATH}/stirling-pdf/stirling-pdf.yml
|
- ${SERVICE_PATH}/stirling-pdf/stirling-pdf.yml
|
||||||
- ${SERVICE_PATH}/vaultwarden/vaultwarden.yml
|
- ${SERVICE_PATH}/vaultwarden/vaultwarden.yml
|
||||||
- ${SERVICE_PATH}/vikunja/vikunja.yml
|
- ${SERVICE_PATH}/vikunja/vikunja.yml
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ services:
|
|||||||
# AUTHELIA_PUBLIC_DOMAIN: ${PUBLIC_DOMAIN} # this does not work for access control or openID yet
|
# AUTHELIA_PUBLIC_DOMAIN: ${PUBLIC_DOMAIN} # this does not work for access control or openID yet
|
||||||
# AUTHELIA_LOCAL_DOMAIN: ${LOCAL_DOMAIN} # this does not work for access control or openID yet
|
# AUTHELIA_LOCAL_DOMAIN: ${LOCAL_DOMAIN} # this does not work for access control or openID yet
|
||||||
volumes:
|
volumes:
|
||||||
- ${INFRA_PATH}/authelia/config:/config
|
|
||||||
- ${INFRA_PATH}/authelia/config:/config
|
- ${INFRA_PATH}/authelia/config:/config
|
||||||
- "/var/log/authelia/:/config/log"
|
- "/var/log/authelia/:/config/log"
|
||||||
labels:
|
labels:
|
||||||
|
|||||||
@@ -1,33 +0,0 @@
|
|||||||
services:
|
|
||||||
headscale:
|
|
||||||
extends:
|
|
||||||
file: ${TEMPLATES_PATH}
|
|
||||||
service: default
|
|
||||||
image: docker.io/headscale/headscale:sha-474ea236-debug
|
|
||||||
container_name: headscale
|
|
||||||
ports:
|
|
||||||
- 3001:8080
|
|
||||||
- 3002:9090
|
|
||||||
networks:
|
|
||||||
- ip4net
|
|
||||||
- ip6net
|
|
||||||
environment:
|
|
||||||
- DOMAIN=${PUBLIC_DOMAIN}
|
|
||||||
- CLIENT_SECRET_OIDC=${HEADSCALE_CLIENT_SECRET_OIDC}
|
|
||||||
- HEADSCALE_CLI_ADDRESS="https://headscale.${PUBLIC_DOMAIN}:443"
|
|
||||||
- HEADSCALE_CLI_API_KEY="ksC2HnX.3Rv5a2n32Rfgi8aWeaXhp6lAfAwG_NAq"
|
|
||||||
volumes:
|
|
||||||
- ${INFRA_PATH}/headscale/config:/etc/headscale
|
|
||||||
- ${INFRA_PATH}/headscale/lib:/var/lib/headscale
|
|
||||||
- ${INFRA_PATH}/headscale/data:/var/lib/headscale
|
|
||||||
command: serve
|
|
||||||
labels:
|
|
||||||
# Watchtower
|
|
||||||
- "com.centurylinklabs.watchtower.enable=true"
|
|
||||||
# Traefik
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.headscale.rule=Host(`headscale.${PUBLIC_DOMAIN}`)"
|
|
||||||
- "traefik.http.routers.headscale.entrypoints=https"
|
|
||||||
- "traefik.http.routers.headscale.tls=true"
|
|
||||||
- "traefik.http.services.headscale.loadbalancer.server.port=8080"
|
|
||||||
- "traefik.http.routers.headscale.middlewares=crowdsec-bouncer@file"
|
|
||||||
27
project/infrastructure/ntfy/ntfy.yml
Normal file
27
project/infrastructure/ntfy/ntfy.yml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
services:
|
||||||
|
ntfy:
|
||||||
|
extends:
|
||||||
|
file: ${TEMPLATES_PATH}
|
||||||
|
service: default
|
||||||
|
container_name: ntfy
|
||||||
|
image: binwiederhier/ntfy
|
||||||
|
ports:
|
||||||
|
- "4023:80"
|
||||||
|
networks:
|
||||||
|
- ip4net
|
||||||
|
command:
|
||||||
|
- serve
|
||||||
|
volumes:
|
||||||
|
- /var/cache/ntfy:/var/cache/ntfy
|
||||||
|
- ${INFRA_PATH}/ntfy/config:/etc/ntfy
|
||||||
|
- ${INFRA_PATH}/ntfy/data:/var/lib/ntfy
|
||||||
|
labels:
|
||||||
|
# Watchtower
|
||||||
|
- 'com.centurylinklabs.watchtower.enable=true'
|
||||||
|
# Traefik
|
||||||
|
- 'traefik.enable=true'
|
||||||
|
- 'traefik.http.routers.ntfy.rule=Host(`ntfy.${PUBLIC_DOMAIN}`)'
|
||||||
|
- 'traefik.http.routers.ntfy.entrypoints=https'
|
||||||
|
- 'traefik.http.routers.ntfy.tls=true'
|
||||||
|
# Middlewares
|
||||||
|
- "traefik.http.routers.ntfy.middlewares=crowdsec-bouncer@file"
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
services:
|
|
||||||
webfinger:
|
|
||||||
extends:
|
|
||||||
file: ${TEMPLATES_PATH}
|
|
||||||
service: default
|
|
||||||
image: peeley/carpal
|
|
||||||
container_name: webfinger
|
|
||||||
ports:
|
|
||||||
- 8888:8008
|
|
||||||
networks:
|
|
||||||
- ip6net
|
|
||||||
volumes:
|
|
||||||
- ${INFRA_PATH}/web-finger/config/:/etc/carpal/resources
|
|
||||||
labels:
|
|
||||||
# Watchtower
|
|
||||||
- "com.centurylinklabs.watchtower.enable=true"
|
|
||||||
# Traefik
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.webfinger.rule=Host(`${PUBLIC_DOMAIN}`)"
|
|
||||||
- "traefik.http.routers.webfinger.entrypoints=https"
|
|
||||||
- "traefik.http.routers.webfinger.tls=true"
|
|
||||||
@@ -17,6 +17,8 @@ services:
|
|||||||
- "com.centurylinklabs.watchtower.enable=true"
|
- "com.centurylinklabs.watchtower.enable=true"
|
||||||
# Traefik
|
# Traefik
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.navidrome.rule=Host(`navidrome.${LOCAL_DOMAIN}`)"
|
- "traefik.http.routers.navidrome.rule=Host(`navidrome.${PUBLIC_DOMAIN}`)"
|
||||||
- "traefik.http.routers.navidrome.entrypoints=https"
|
- "traefik.http.routers.navidrome.entrypoints=https"
|
||||||
- 'traefik.http.routers.navidrome.tls=true'
|
- 'traefik.http.routers.navidrome.tls=true'
|
||||||
|
# Middlewares
|
||||||
|
- "traefik.http.routers.navidrome.middlewares=crowdsec-bouncer@file"
|
||||||
|
|||||||
37
project/monitoring/loki/loki.yml
Normal file
37
project/monitoring/loki/loki.yml
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
services:
|
||||||
|
loki:
|
||||||
|
extends:
|
||||||
|
file: ${TEMPLATES_PATH}
|
||||||
|
service: default
|
||||||
|
container_name: loki
|
||||||
|
image: grafana/loki
|
||||||
|
ports:
|
||||||
|
- 8094:3100
|
||||||
|
networks:
|
||||||
|
- ip4net
|
||||||
|
volumes:
|
||||||
|
- ${MONITORING_PATH}/loki/config/loki-config.yml:/etc/loki/local-config.yaml
|
||||||
|
labels:
|
||||||
|
# Watchtower
|
||||||
|
- "com.centurylinklabs.watchtower.enable=true"
|
||||||
|
# Traefik
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.loki.rule=Host(`loki.${LOCAL_DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.loki.entrypoints=https"
|
||||||
|
- "traefik.http.routers.loki.tls=true"
|
||||||
|
|
||||||
|
promtail:
|
||||||
|
extends:
|
||||||
|
file: ${TEMPLATES_PATH}
|
||||||
|
service: default
|
||||||
|
container_name: promtail
|
||||||
|
image: grafana/promtail
|
||||||
|
networks:
|
||||||
|
- ip4net
|
||||||
|
volumes:
|
||||||
|
- ${MONITORING_PATH}/loki/config/promtail-config.yml:/etc/promtail/config.yml
|
||||||
|
- /var/log:/var/log
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
|
labels:
|
||||||
|
# Watchtower
|
||||||
|
- "com.centurylinklabs.watchtower.enable=true"
|
||||||
Submodule project/service/home-assistant/ha-addon deleted from 032fb202d4
@@ -1,59 +0,0 @@
|
|||||||
services:
|
|
||||||
shlink-backend:
|
|
||||||
extends:
|
|
||||||
file: ${TEMPLATES_PATH}
|
|
||||||
service: default
|
|
||||||
image: shlinkio/shlink:latest
|
|
||||||
container_name: shlink-backend
|
|
||||||
ports:
|
|
||||||
- '4004:8080'
|
|
||||||
networks:
|
|
||||||
- ip6net
|
|
||||||
volumes:
|
|
||||||
- ${SERVICE_PATH}/shlink/data:/usr/share/tesseract-ocr/4.00/tessdata #Required for extra OCR languages
|
|
||||||
- ${SERVICE_PATH}/shlink/config:/configs
|
|
||||||
environment:
|
|
||||||
DEFAULT_DOMAIN: shlink.${PUBLIC_DOMAIN}
|
|
||||||
IS_HTTPS_ENABLED: true
|
|
||||||
# GEOLITE_LICENSE_KEY: # optional, to geolocate visit, see https://shlink.io/documentation/geolite-license-key/
|
|
||||||
# DB
|
|
||||||
DB_DRIVER: postgres
|
|
||||||
DB_USER: shlink
|
|
||||||
DB_PASSWORD: ${SHLINK_DATABASE_PASSWORD}
|
|
||||||
DB_HOST: postgres
|
|
||||||
labels:
|
|
||||||
# Watchtower
|
|
||||||
- "com.centurylinklabs.watchtower.enable=true"
|
|
||||||
# Traefik
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.shlink-backend.rule=Host(`shlink.${PUBLIC_DOMAIN}`)"
|
|
||||||
- "traefik.http.routers.shlink-backend.entrypoints=https"
|
|
||||||
- "traefik.http.routers.shlink-backend.tls.certresolver=myresolver"
|
|
||||||
- "traefik.http.routers.shlink-backend.tls=true"
|
|
||||||
- "traefik.http.routers.shlink-backend.service=shlink-backend-svc"
|
|
||||||
- "traefik.http.services.shlink-backend-svc.loadbalancer.server.port=8080"
|
|
||||||
# Middlewares
|
|
||||||
- "traefik.http.routers.shlink-backend.middlewares=crowdsec-bouncer@file"
|
|
||||||
|
|
||||||
shlink-frontend:
|
|
||||||
extends:
|
|
||||||
file: ${TEMPLATES_PATH}
|
|
||||||
service: default
|
|
||||||
image: shlinkio/shlink-web-client:latest
|
|
||||||
container_name: shlink-frontend
|
|
||||||
ports:
|
|
||||||
- '4005:8080'
|
|
||||||
networks:
|
|
||||||
- ip6net
|
|
||||||
environment:
|
|
||||||
SHLINK_SERVER_URL: https://shlink.${PUBLIC_DOMAIN}
|
|
||||||
SHLINK_SERVER_API_KEY: ${SHLINK_SERVER_API_KEY}
|
|
||||||
labels:
|
|
||||||
# Watchtower
|
|
||||||
- "com.centurylinklabs.watchtower.enable=true"
|
|
||||||
# Traefik
|
|
||||||
- "traefik.enable=true"
|
|
||||||
- "traefik.http.routers.shlink-frontend.rule=Host(`shlink.${LOCAL_DOMAIN}`)"
|
|
||||||
- "traefik.http.routers.shlink-frontend.entrypoints=https"
|
|
||||||
- "traefik.http.routers.shlink-frontend.tls=true"
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user