_traefik templates

This commit is contained in:
Lockszmith (@kateryna) 2025-01-16 11:01:45 -05:00
parent 75bed9a896
commit 757fc14476
14 changed files with 264 additions and 12 deletions

View File

@ -23,10 +23,12 @@ services:
# - "container:vols-plex"
labels:
# Websecure
traefik.http.routers.<service-name>.middlewares: authentik_sysmgr@file
# traefik.http.routers.<service-name>.middlewares: authentik_sysmgr@file
traefik.http.routers.<service-name>.middlewares: lan-only@file
# traefik.http.routers.<service-name>-more.rule: Host(`<service-name>.${ROOT_DOMAIN}`)${APP_ROUTE_OPTIONAL:-}
# traefik.http.routers.<service-name>-more.entrypoints: websecure
# traefik.http.routers.<service-name>-more.service: <service-name>
# traefik.http.routers.<service-name>-more.middlewares: authentik_sysmgr@file
# traefik.http.routers.<service-name>-more.middlewares: lan-only@file
# traefik.http.routers.<service-name>-more.tls: true
# traefik.http.routers.<service-name>-more.tls.certresolver: myresolver

View File

@ -15,6 +15,18 @@
watch: true
entryPoints:
plex:
address: ':32400'
forwardedHeaders:
trustedIPs:
- "127.0.0.1/32"
- "172.16.0.0/12"
http:
redirections:
entryPoint:
to: 'websecure'
scheme: 'https'
web:
address: ':80'
forwardedHeaders:

View File

@ -4,3 +4,5 @@ services:
- type: bind
source: ${ROOT_FOLDER_HOST}/user-config/${APP_ID}/media
target: /media
labels:
traefik.http.routers.authentik.rule: Host(`auth.${ROOT_DOMAIN}`)${APP_ROUTE_OPTIONAL:-}

View File

@ -16,13 +16,17 @@ services:
RUNTIPI_LOCAL_DOMAIN: "${LOCAL_DOMAIN}"
RUNTIPI_DOMAIN: "${DOMAIN}"
RUNTIPI_ROOT_DOMAIN: "${ROOT_DOMAIN}"
SZ_USER_UID: "${SZ_USER_UID}"
SZ_USER_GID: "${SZ_USER_GID}"
PUID: "${SZ_USER_UID}"
PGID: "${SZ_USER_GID}"
TZ: "${TZ:?Did you forget to define TZ in the root RunTipi .env.local?}"
labels:
traefik.enable: true
# traefik.http.services.dockge.loadbalancer.server.port: 5001
traefik.http.routers.dockge.entrypoints: websecure
traefik.http.routers.dockge.rule: Host(`dockge.${ROOT_DOMAIN}`)
traefik.http.routers.dockge.service: dockge
traefik.http.routers.dockge.rule: Host(`dockge.${ROOT_DOMAIN}`)${APP_ROUTE_OPTIONAL:-}
traefik.http.routers.dockge.middlewares: authentik_sysmgr@file
traefik.http.routers.dockge.tls.certresolver: myresolver
# traefik.enable: true
# # traefik.http.services.dockge.loadbalancer.server.port: 5001
# traefik.http.routers.dockge.entrypoints: websecure
# traefik.http.routers.dockge.service: dockge
# traefik.http.routers.dockge.tls.certresolver: myresolver

34
dozzle/docker-compose.yml Normal file
View File

@ -0,0 +1,34 @@
services:
dozzle:
hostname: dozzle.docker
environment:
PUID: "${SZ_USER_UID}"
PGID: "${SZ_USER_GID}"
# RUNTIPI Environment
RUNTIPI_APP_PORT: "${APP_PORT}"
RUNTIPI_APP_ID: "${APP_ID}"
RUNTIPI_APP_DATA_DIR: "${APP_DATA_DIR}"
RUNTIPI_APP_EXPOSED: "${APP_EXPOSED:-}"
RUNTIPI_APP_DOMAIN: "${APP_DOMAIN}"
RUNTIPI_APP_HOST: "${APP_HOST}"
RUNTIPI_LOCAL_DOMAIN: "${LOCAL_DOMAIN}"
RUNTIPI_DOMAIN: "${DOMAIN}"
RUNTIPI_ROOT_DOMAIN: "${ROOT_DOMAIN}"
# volumes_from:
# - "container:vols-dl"
# - "container:vols-personal-media"
# - "container:vols-shared-media"
# - "container:vols-media"
# - "container:vols-arr"
# - "container:vols-plex"
labels:
# Websecure
traefik.http.routers.dozzle.middlewares: authentik_sysmgr@file
# traefik.http.routers.dozzle.middlewares: lan-only@file
# traefik.http.routers.dozzle-more.rule: Host(`dozzle.${ROOT_DOMAIN}`)${APP_ROUTE_OPTIONAL:-}
# traefik.http.routers.dozzle-more.entrypoints: websecure
# traefik.http.routers.dozzle-more.service: dozzle
# traefik.http.routers.dozzle-more.middlewares: authentik_sysmgr@file
# traefik.http.routers.dozzle-more.middlewares: lan-only@file
# traefik.http.routers.dozzle-more.tls: true
# traefik.http.routers.dozzle-more.tls.certresolver: myresolver

View File

@ -0,0 +1,25 @@
services:
homepage:
environment:
PUID: "${SZ_USER_UID}"
PGID: "${SZ_USER_GID}"
# RUNTIPI Environment
RUNTIPI_APP_PORT: "${APP_PORT}"
RUNTIPI_APP_ID: "${APP_ID}"
RUNTIPI_APP_DATA_DIR: "${APP_DATA_DIR}"
RUNTIPI_APP_EXPOSED: "${APP_EXPOSED:-}"
RUNTIPI_APP_DOMAIN: "${APP_DOMAIN}"
RUNTIPI_APP_HOST: "${APP_HOST}"
RUNTIPI_LOCAL_DOMAIN: "${LOCAL_DOMAIN}"
RUNTIPI_DOMAIN: "${DOMAIN}"
RUNTIPI_ROOT_DOMAIN: "${ROOT_DOMAIN}"
labels:
# Websecure
traefik.http.routers.homepage.middlewares: authentik_sysmgr@file
traefik.http.routers.homepage.rule: Host(`www.${ROOT_DOMAIN}`)${APP_ROUTE_OPTIONAL:-}
# #traefik.http.routers.homepage-more.rule: Host(`www.${LEGACY_ROOT_DOMAIN}`)
# traefik.http.routers.homepage-more.entrypoints: websecure
# traefik.http.routers.homepage-more.service: homepage
# traefik.http.routers.homepage-more.middlewares: authentik_sysmgr@file
# traefik.http.routers.homepage-more.tls.certresolver: myresolver

View File

@ -0,0 +1,19 @@
services:
overseerr:
hostname: overseerr.docker
environment:
PUID: "${SZ_USER_UID}"
PGID: "${SZ_USER_GID}"
# RUNTIPI Environment
RUNTIPI_APP_PORT: "${APP_PORT}"
RUNTIPI_APP_ID: "${APP_ID}"
RUNTIPI_APP_DATA_DIR: "${APP_DATA_DIR}"
RUNTIPI_APP_EXPOSED: "${APP_EXPOSED:-}"
RUNTIPI_APP_DOMAIN: "${APP_DOMAIN}"
RUNTIPI_APP_HOST: "${APP_HOST}"
RUNTIPI_LOCAL_DOMAIN: "${LOCAL_DOMAIN}"
RUNTIPI_DOMAIN: "${DOMAIN}"
RUNTIPI_ROOT_DOMAIN: "${ROOT_DOMAIN}"
labels:
# Websecure
traefik.http.routers.overseerr.rule: Host(`req.${ROOT_DOMAIN}`)${APP_ROUTE_OPTIONAL:-}

View File

@ -0,0 +1,27 @@
services:
prowlarr:
hostname: prowlarr.docker
environment:
PUID: "${SZ_USER_UID}"
PGID: "${SZ_USER_GID}"
# RUNTIPI Environment
RUNTIPI_APP_PORT: "${APP_PORT}"
RUNTIPI_APP_ID: "${APP_ID}"
RUNTIPI_APP_DATA_DIR: "${APP_DATA_DIR}"
RUNTIPI_APP_EXPOSED: "${APP_EXPOSED:-}"
RUNTIPI_APP_DOMAIN: "${APP_DOMAIN}"
RUNTIPI_APP_HOST: "${APP_HOST}"
RUNTIPI_LOCAL_DOMAIN: "${LOCAL_DOMAIN}"
RUNTIPI_DOMAIN: "${DOMAIN}"
RUNTIPI_ROOT_DOMAIN: "${ROOT_DOMAIN}"
labels:
# Websecure
traefik.http.routers.prowlarr.middlewares: authentik_sysmgr@file
# traefik.http.routers.prowlarr.middlewares: lan-only@file
traefik.http.routers.prowlarr.rule: Host(`prowlarr.${ROOT_DOMAIN}`)${APP_ROUTE_OPTIONAL:-}
# traefik.http.routers.prowlarr-more.entrypoints: websecure
# traefik.http.routers.prowlarr-more.service: prowlarr
# traefik.http.routers.prowlarr-more.middlewares: authentik_sysmgr@file
# traefik.http.routers.prowlarr-more.middlewares: lan-only@file
# traefik.http.routers.prowlarr-more.tls: true
# traefik.http.routers.prowlarr-more.tls.certresolver: myresolver

29
radarr/docker-compose.yml Normal file
View File

@ -0,0 +1,29 @@
services:
radarr:
hostname: radarr.docker
environment:
PUID: "${SZ_USER_UID}"
PGID: "${SZ_USER_GID}"
# RUNTIPI Environment
RUNTIPI_APP_PORT: "${APP_PORT}"
RUNTIPI_APP_ID: "${APP_ID}"
RUNTIPI_APP_DATA_DIR: "${APP_DATA_DIR}"
RUNTIPI_APP_EXPOSED: "${APP_EXPOSED:-}"
RUNTIPI_APP_DOMAIN: "${APP_DOMAIN}"
RUNTIPI_APP_HOST: "${APP_HOST}"
RUNTIPI_LOCAL_DOMAIN: "${LOCAL_DOMAIN}"
RUNTIPI_DOMAIN: "${DOMAIN}"
RUNTIPI_ROOT_DOMAIN: "${ROOT_DOMAIN}"
volumes_from:
- "container:vols-arr"
labels:
# Websecure
traefik.http.routers.radarr.middlewares: authentik_sysmgr@file
# traefik.http.routers.radarr.middlewares: lan-only@file
# traefik.http.routers.radarr-more.rule: Host(`radarr.${ROOT_DOMAIN}`)${APP_ROUTE_OPTIONAL:-}
# traefik.http.routers.radarr-more.entrypoints: websecure
# traefik.http.routers.radarr-more.service: radarr
# traefik.http.routers.radarr-more.middlewares: authentik_sysmgr@file
# traefik.http.routers.radarr-more.middlewares: lan-only@file
# traefik.http.routers.radarr-more.tls: true
# traefik.http.routers.radarr-more.tls.certresolver: myresolver

View File

@ -0,0 +1,29 @@
services:
sabnzbd:
hostname: nzb.docker
environment:
PUID: "${SZ_USER_UID}"
PGID: "${SZ_USER_GID}"
# RUNTIPI Environment
RUNTIPI_APP_PORT: "${APP_PORT}"
RUNTIPI_APP_ID: "${APP_ID}"
RUNTIPI_APP_DATA_DIR: "${APP_DATA_DIR}"
RUNTIPI_APP_EXPOSED: "${APP_EXPOSED:-}"
RUNTIPI_APP_DOMAIN: "${APP_DOMAIN}"
RUNTIPI_APP_HOST: "${APP_HOST}"
RUNTIPI_LOCAL_DOMAIN: "${LOCAL_DOMAIN}"
RUNTIPI_DOMAIN: "${DOMAIN}"
RUNTIPI_ROOT_DOMAIN: "${ROOT_DOMAIN}"
volumes_from:
- "container:vols-dl"
labels:
# Websecure
traefik.http.routers.sabnzbd.middlewares: authentik_sysmgr@file
# traefik.http.routers.sabnzbd.middlewares: lan-only@file
traefik.http.routers.sabnzbd.rule: Host(`nzb.${ROOT_DOMAIN}`)${APP_ROUTE_OPTIONAL:-}
# traefik.http.routers.sabnzbd-more.entrypoints: websecure
# traefik.http.routers.sabnzbd-more.service: sabnzbd
# traefik.http.routers.sabnzbd-more.middlewares: authentik_sysmgr@file
# traefik.http.routers.sabnzbd-more.middlewares: lan-only@file
# traefik.http.routers.sabnzbd-more.tls: true
# traefik.http.routers.sabnzbd-more.tls.certresolver: myresolver

29
sonarr/docker-compose.yml Normal file
View File

@ -0,0 +1,29 @@
services:
sonarr:
hostname: sonarr.docker
environment:
PUID: "${SZ_USER_UID}"
PGID: "${SZ_USER_GID}"
# RUNTIPI Environment
RUNTIPI_APP_PORT: "${APP_PORT}"
RUNTIPI_APP_ID: "${APP_ID}"
RUNTIPI_APP_DATA_DIR: "${APP_DATA_DIR}"
RUNTIPI_APP_EXPOSED: "${APP_EXPOSED:-}"
RUNTIPI_APP_DOMAIN: "${APP_DOMAIN}"
RUNTIPI_APP_HOST: "${APP_HOST}"
RUNTIPI_LOCAL_DOMAIN: "${LOCAL_DOMAIN}"
RUNTIPI_DOMAIN: "${DOMAIN}"
RUNTIPI_ROOT_DOMAIN: "${ROOT_DOMAIN}"
volumes_from:
- "container:vols-arr"
labels:
# Websecure
traefik.http.routers.sonarr.middlewares: authentik_sysmgr@file
# traefik.http.routers.sonarr.middlewares: lan-only@file
traefik.http.routers.sonarr-more.rule: Host(`sonarr.${ROOT_DOMAIN}`)${APP_ROUTE_OPTIONAL:-}
# traefik.http.routers.sonarr-more.entrypoints: websecure
# traefik.http.routers.sonarr-more.service: sonarr
# traefik.http.routers.sonarr-more.middlewares: authentik_sysmgr@file
# traefik.http.routers.sonarr-more.middlewares: lan-only@file
# traefik.http.routers.sonarr-more.tls: true
# traefik.http.routers.sonarr-more.tls.certresolver: myresolver

View File

@ -0,0 +1,24 @@
services:
syncthing:
hostname: syncthing.docker
environment:
PUID: "${SZ_USER_UID}"
PGID: "${SZ_USER_GID}"
# RUNTIPI Environment
RUNTIPI_APP_PORT: "${APP_PORT}"
RUNTIPI_APP_ID: "${APP_ID}"
RUNTIPI_APP_DATA_DIR: "${APP_DATA_DIR}"
RUNTIPI_APP_EXPOSED: "${APP_EXPOSED:-}"
RUNTIPI_APP_DOMAIN: "${APP_DOMAIN}"
RUNTIPI_APP_HOST: "${APP_HOST}"
RUNTIPI_LOCAL_DOMAIN: "${LOCAL_DOMAIN}"
RUNTIPI_DOMAIN: "${DOMAIN}"
RUNTIPI_ROOT_DOMAIN: "${ROOT_DOMAIN}"
volumes_from:
- "container:vols-all"
volumes:
- "/mnt/szmedia/sync.root:/mnt/szmedia/sync.root"
labels:
# Websecure
traefik.http.routers.syncthing.middlewares: authentik_sysmgr@file
traefik.http.routers.syncthing.rule: Host(`sync.${ROOT_DOMAIN}`)${APP_ROUTE_OPTIONAL:-}

View File

@ -0,0 +1,20 @@
services:
tautulli:
hostname: tautulli.docker
environment:
PUID: "${SZ_USER_UID}"
PGID: "${SZ_USER_GID}"
# RUNTIPI Environment
RUNTIPI_APP_PORT: "${APP_PORT}"
RUNTIPI_APP_ID: "${APP_ID}"
RUNTIPI_APP_DATA_DIR: "${APP_DATA_DIR}"
RUNTIPI_APP_EXPOSED: "${APP_EXPOSED:-}"
RUNTIPI_APP_DOMAIN: "${APP_DOMAIN}"
RUNTIPI_APP_HOST: "${APP_HOST}"
RUNTIPI_LOCAL_DOMAIN: "${LOCAL_DOMAIN}"
RUNTIPI_DOMAIN: "${DOMAIN}"
RUNTIPI_ROOT_DOMAIN: "${ROOT_DOMAIN}"
labels:
# Websecure
traefik.http.routers.tautulli.middlewares: authentik_sysmgr@file
# traefik.http.routers.tautulli-more.rule: Host(`tautulli.${ROOT_DOMAIN}`)${APP_ROUTE_OPTIONAL:-}

View File

@ -17,11 +17,7 @@ services:
- /srv/vaultwarden/data:/data
labels:
# Websecure
traefik.http.routers.vaultwarden.rule: Host(`www.${ROOT_DOMAIN}`)${APP_ROUTE_OPTIONAL:-}
# traefik.http.routers.vaultwarden-more.entrypoints: websecure
# traefik.http.routers.vaultwarden-more.service: vaultwarden
# traefik.http.routers.vaultwarden-more.tls: true
# traefik.http.routers.vaultwarden-more.tls.certresolver: myresolver
traefik.http.routers.vaultwarden.rule: Host(`vault.${ROOT_DOMAIN}`)${APP_ROUTE_OPTIONAL:-}
networks:
vaultwarden_pg_dockge:
external: true