diff --git a/_template/docker-compose.yml b/_template/docker-compose.yml index f23c037..cee7988 100644 --- a/_template/docker-compose.yml +++ b/_template/docker-compose.yml @@ -23,10 +23,12 @@ services: # - "container:vols-plex" labels: # Websecure - traefik.http.routers..middlewares: authentik_sysmgr@file + # traefik.http.routers..middlewares: authentik_sysmgr@file + traefik.http.routers..middlewares: lan-only@file # traefik.http.routers.-more.rule: Host(`.${ROOT_DOMAIN}`)${APP_ROUTE_OPTIONAL:-} # traefik.http.routers.-more.entrypoints: websecure # traefik.http.routers.-more.service: # traefik.http.routers.-more.middlewares: authentik_sysmgr@file + # traefik.http.routers.-more.middlewares: lan-only@file # traefik.http.routers.-more.tls: true # traefik.http.routers.-more.tls.certresolver: myresolver \ No newline at end of file diff --git a/_traefik/static.yml b/_traefik/static.yml index f7ead6f..283ebb9 100644 --- a/_traefik/static.yml +++ b/_traefik/static.yml @@ -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: diff --git a/authentik/docker-compose.yml b/authentik/docker-compose.yml index 20ca084..6f29918 100644 --- a/authentik/docker-compose.yml +++ b/authentik/docker-compose.yml @@ -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:-} diff --git a/dockge/docker-compose.yml b/dockge/docker-compose.yml index bf603df..f47787c 100644 --- a/dockge/docker-compose.yml +++ b/dockge/docker-compose.yml @@ -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 diff --git a/dozzle/docker-compose.yml b/dozzle/docker-compose.yml new file mode 100644 index 0000000..00b20f9 --- /dev/null +++ b/dozzle/docker-compose.yml @@ -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 \ No newline at end of file diff --git a/homepage/docker-compose.yml b/homepage/docker-compose.yml new file mode 100644 index 0000000..d5f972f --- /dev/null +++ b/homepage/docker-compose.yml @@ -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 \ No newline at end of file diff --git a/overseerr/docker-compose.yml b/overseerr/docker-compose.yml new file mode 100644 index 0000000..3e41133 --- /dev/null +++ b/overseerr/docker-compose.yml @@ -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:-} \ No newline at end of file diff --git a/prowlarr/docker-compose.yml b/prowlarr/docker-compose.yml new file mode 100644 index 0000000..33751b9 --- /dev/null +++ b/prowlarr/docker-compose.yml @@ -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 \ No newline at end of file diff --git a/radarr/docker-compose.yml b/radarr/docker-compose.yml new file mode 100644 index 0000000..5d30fae --- /dev/null +++ b/radarr/docker-compose.yml @@ -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 \ No newline at end of file diff --git a/sabnzbd/docker-compose.yml b/sabnzbd/docker-compose.yml new file mode 100644 index 0000000..69a368f --- /dev/null +++ b/sabnzbd/docker-compose.yml @@ -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 \ No newline at end of file diff --git a/sonarr/docker-compose.yml b/sonarr/docker-compose.yml new file mode 100644 index 0000000..9008002 --- /dev/null +++ b/sonarr/docker-compose.yml @@ -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 \ No newline at end of file diff --git a/syncthing/docker-compose.yml b/syncthing/docker-compose.yml new file mode 100644 index 0000000..edac563 --- /dev/null +++ b/syncthing/docker-compose.yml @@ -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:-} \ No newline at end of file diff --git a/tautulli/docker-compose.yml b/tautulli/docker-compose.yml new file mode 100644 index 0000000..1ae9968 --- /dev/null +++ b/tautulli/docker-compose.yml @@ -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:-} diff --git a/vaultwarden/docker-compose.yml b/vaultwarden/docker-compose.yml index bc9f13c..73496ef 100644 --- a/vaultwarden/docker-compose.yml +++ b/vaultwarden/docker-compose.yml @@ -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