diff --git a/.env.example b/.env.example index bd0b655..88d383e 100644 --- a/.env.example +++ b/.env.example @@ -1,9 +1,8 @@ ACME_EMAIL= -DUCKDNS_SUBDOMAINS= +DUCKDNS_SUBDOMAIN= DUCKDNS_TOKEN= VPN_SERVICE_PROVIDER= VPN_USER= VPN_PASSWORD= -JELLYFIN_SUBDOMAIN= MOUNTED_VOLUME= TRANSMISSION_PASSWORD= \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 469c5d3..c2d285e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -129,6 +129,30 @@ services: # - 51413:51413/udp # restart: unless-stopped + ############################ + # TRAEFIK + ############################ + + traefik: + image: traefik:latest + container_name: traefik + network_mode: "service:gluetun" + depends_on: + - gluetun + command: + - "--api.insecure=true" + - "--providers.docker=true" + - "--providers.docker.exposedbydefault=false" + - "--entrypoints.web.address=:8081" + - "--entrypoints.http.http.tls=false" + ports: + - "8081:8081" # HTTP + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - /mnt/.ix-apps/app_mounts/traefik/letsencrypt:/letsencrypt + - /mnt/.ix-apps/app_mounts/traefik/config:/config + restart: unless-stopped + ############################ # DUCKDNS ############################ @@ -143,7 +167,7 @@ services: - PUID=1000 - PGID=1000 - TZ=Etc/UTC - - SUBDOMAINS=${DUCKDNS_SUBDOMAINS} # Replace with your DuckDNS subdomain(s) + - SUBDOMAINS=${DUCKDNS_SUBDOMAIN} # Replace with your DuckDNS subdomain(s) - TOKEN=${DUCKDNS_TOKEN} # Replace with your DuckDNS token restart: unless-stopped @@ -151,41 +175,26 @@ services: # JELLYFIN ############################ - # jellyfin: - # image: lscr.io/linuxserver/jellyfin:latest - # container_name: jellyfin - # labels: - # - "traefik.enable=true" - # - "traefik.http.routers.jellyfin.rule=Host(`${JELLYFIN_SUBDOMAIN}.duckdns.org`)" - # - "traefik.http.routers.jellyfin.entrypoints=websecure" - # - "traefik.http.routers.jellyfin.tls.certresolver=myresolver" - # - "traefik.http.services.jellyfin.loadbalancer.server.port=8096" - # environment: - # - PUID=1000 - # - PGID=1000 - # - TZ=Etc/UTC - # volumes: - # - /mnt/pool-main/portainer/jellyfin/config:/config - # - /mnt/pool-main/media/series:/data/series - # - /mnt/pool-main/media/movies:/data/movies - # restart: unless-stopped - - # traefik: - # image: traefik:v2.10 - # container_name: traefik - # command: - # - "--api.insecure=true" # Optional: Enable Traefik dashboard - # - "--providers.docker=true" - # - "--providers.docker.exposedbydefault=false" - # - "--entrypoints.web.address=:8081" - # - "--entrypoints.http.http.tls=false" - # ports: - # - "8081:8081" # HTTP - # volumes: - # - /var/run/docker.sock:/var/run/docker.sock - # - /mnt/.ix-apps/app_mounts/traefik/letsencrypt:/letsencrypt - # - /mnt/.ix-apps/app_mounts/traefik/config:/config - # restart: unless-stopped + jellyfin: + image: lscr.io/linuxserver/jellyfin:latest + container_name: jellyfin + network_mode: "service:gluetun" + depends_on: + - gluetun + labels: + - "traefik.enable=true" + - "traefik.http.routers.jellyfin.rule=Host(`jelly.${DUCKDNS_SUBDOMAIN}.duckdns.org`)" + - "traefik.http.routers.jellyfin.entrypoints=web" + - "traefik.http.services.jellyfin.loadbalancer.server.port=8096" + environment: + - PUID=1000 + - PGID=1000 + - TZ=Etc/UTC + volumes: + - /mnt/.ix_apps/app_mounts/portainer/jellyfin/config:/config + - /mnt/pool-main/media/series:/data/series + - /mnt/pool-main/media/movies:/data/movies + restart: unless-stopped ############################ # GLUETUN @@ -195,7 +204,7 @@ services: image: qmcgaw/gluetun container_name: gluetun ports: - # - 80:80 + - 8081:8081 # traefik # - 443:443 - 8096:8096 #jellyfin # - 9696:9696 #prowlarr