zeusgmj

docker-compose.yml

Jul 17th, 2025
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 7.59 KB | Software | 0 0
  1. name: olympus_stack
  2.  
  3. services:
  4.  #=============================
  5.   # VPN & DOWNLOAD CLIENT
  6.   #=============================
  7.   gluetun:
  8.     image: qmcgaw/gluetun
  9.     container_name: gluetun
  10.     cap_add:
  11.      - NET_ADMIN
  12.     devices:
  13.      - /dev/net/tun
  14.     environment:
  15.      - VPN_SERVICE_PROVIDER=${VPN_SERVICE_PROVIDER}
  16.       - VPN_TYPE=${VPN_TYPE}
  17.       - WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY}
  18.       - WIREGUARD_ADDRESSES=${WIREGUARD_ADDRESSES}
  19.       - SERVER_CITIES=${SERVER_CITIES}
  20.       - SERVER_COUNTRIES=${SERVER_COUNTRIES}
  21.       - OWNED_ONLY=${OWNED_ONLY}
  22.       - TZ=${TZ}
  23.       - FIREWALL_OUTBOUND_SUBNETS=172.18.0.0/16
  24.     ports:
  25.      - 8080:8080       # qBittorrent WebUI
  26.       - 6881:6881       # qBittorrent TCP
  27.       - 6881:6881/udp   # qBittorrent UDP
  28.       - 8888:8000       # Gluetun
  29.     volumes:
  30.      - /path/to/docker/gluetun:/gluetun
  31.     restart: unless-stopped
  32.  
  33.   qbittorrent:
  34.     image: lscr.io/linuxserver/qbittorrent:latest
  35.     container_name: qbittorrent
  36.     network_mode: service:gluetun
  37.     environment:
  38.      - PUID=${PUID}
  39.       - PGID=${PGID}
  40.       - TZ=${TZ}
  41.       - WEBUI_PORT=${QBIT_WEBUI_PORT}
  42.     volumes:
  43.      - /path/to/docker/qbittorrent:/config
  44.       - /path/to/torrents:/torrents
  45.     depends_on:
  46.      - gluetun
  47.     restart: unless-stopped
  48.  
  49.   #=============================
  50.   # INDEXERS & SEARCH
  51.   #=============================
  52.   prowlarr:
  53.     image: lscr.io/linuxserver/prowlarr:latest
  54.     container_name: prowlarr
  55.     environment:
  56.      - PUID=${PUID}
  57.       - PGID=${PGID}
  58.       - TZ=${TZ}
  59.     volumes:
  60.      - /path/to/docker/prowlarr:/config
  61.     ports:
  62.      - 9696:9696
  63.     restart: unless-stopped
  64.  
  65.   flaresolverr:
  66.     image: ghcr.io/flaresolverr/flaresolverr:latest
  67.     container_name: flaresolverr
  68.     environment:
  69.      - LOG_LEVEL=info
  70.       - TZ=${TZ}
  71.     ports:
  72.      - 8191:8191
  73.     restart: unless-stopped
  74.  
  75.   #=============================
  76.   # MEDIA MANAGEMENT (*ARR)
  77.   #=============================
  78.   sonarr:
  79.     image: lscr.io/linuxserver/sonarr:latest
  80.     container_name: sonarr
  81.     environment:
  82.      - PUID=${PUID}
  83.       - PGID=${PGID}
  84.       - TZ=${TZ}
  85.     volumes:
  86.      - /path/to/docker/sonarr:/config
  87.       - /path/to/media/tv:/tv
  88.       - /path/to/media/deleted/tv:/deleted/tv
  89.       - /path/to/torrents:/torrents
  90.     ports:
  91.      - 8989:8989
  92.     restart: unless-stopped
  93.  
  94.   sonarr-anime:
  95.     image: lscr.io/linuxserver/sonarr:latest
  96.     container_name: sonarr-anime
  97.     environment:
  98.      - PUID=${PUID}
  99.       - PGID=${PGID}
  100.       - TZ=${TZ}
  101.     volumes:
  102.      - /path/to/docker/sonarr-anime:/config
  103.       - /path/to/media/anime:/anime
  104.       - /path/to/media/deleted/anime:/deleted/anime
  105.       - /path/to/torrents:/torrents
  106.     ports:
  107.      - 8990:8989
  108.     restart: unless-stopped
  109.  
  110.   radarr:
  111.     image: lscr.io/linuxserver/radarr:latest
  112.     container_name: radarr
  113.     environment:
  114.      - PUID=${PUID}
  115.       - PGID=${PGID}
  116.       - TZ=${TZ}
  117.     volumes:
  118.      - /path/to/docker/radarr:/config
  119.       - /path/to/media/movies:/movies
  120.       - /path/to/media/deleted/movies:/deleted/movies
  121.       - /path/to/torrents:/torrents
  122.     ports:
  123.      - 7878:7878
  124.     restart: unless-stopped
  125.  
  126.   bazarr:
  127.     image: lscr.io/linuxserver/bazarr:latest
  128.     container_name: bazarr
  129.     environment:
  130.      - PUID=${PUID}
  131.       - PGID=${PGID}
  132.       - TZ=${TZ}
  133.     volumes:
  134.      - /path/to/docker/bazarr:/config
  135.       - /path/to/media/movies:/movies
  136.       - /path/to/media/tv:/tv
  137.     ports:
  138.      - 6767:6767
  139.     restart: unless-stopped
  140.  
  141.   #=============================
  142.   # CLEANUP & AUTOMATION
  143.   #=============================
  144.   cleanuparr:
  145.     image: ghcr.io/cleanuparr/cleanuparr:latest
  146.     container_name: cleanuparr
  147.     restart: unless-stopped
  148.     ports:
  149.      - "11011:11011"
  150.     volumes:
  151.      - /path/to/docker/cleanuparr/config:/config
  152.     environment:
  153.      - PORT=11011
  154.       # - BASE_PATH=
  155.       - PUID=${PUID}
  156.       - PGID=${PGID}
  157.       - UMASK=022
  158.       - TZ=${TZ}
  159.  
  160.   #=============================
  161.   # MEDIA SERVER & REQUESTS
  162.   #=============================
  163.   jellyfin:
  164.     image: lscr.io/linuxserver/jellyfin:latest
  165.     container_name: jellyfin
  166.     runtime: nvidia
  167.     environment:
  168.      - PUID=${PUID}
  169.       - PGID=${PGID}
  170.       - TZ=${TZ}
  171.       - NVIDIA_VISIBLE_DEVICES=all
  172.       - NVIDIA_DRIVER_CAPABILITIES=all
  173.     volumes:
  174.      - /path/to/docker/jellyfin:/config
  175.       - /path/to/media:/media:ro
  176.     ports:
  177.      - 8096:8096
  178.     restart: unless-stopped
  179.  
  180.   jellyseerr:
  181.     image: fallenbagel/jellyseerr:latest
  182.     container_name: jellyseerr
  183.     environment:
  184.      - LOG_LEVEL=debug
  185.       - TZ=${TZ}
  186.       - PORT=5055
  187.     volumes:
  188.      - /path/to/docker/jellyseerr:/app/config
  189.     ports:
  190.      - 5055:5055
  191.     restart: unless-stopped
  192.  
  193.   #=============================
  194.   # Apps & Tools
  195.   #=============================
  196.   homepage:
  197.     image: ghcr.io/gethomepage/homepage:latest
  198.     container_name: homepage
  199.     user: "1000:984"
  200.     env_file: .env
  201.     ports:
  202.      - 3000:3000
  203.     volumes:
  204.      - /path/to/docker/homepage/config:/app/config
  205.       - /var/run/docker.sock:/var/run/docker.sock                       # (optional) For docker integrations
  206.       - /path/to/docker/homepage/images:/app/public/images              # Images
  207.     environment:
  208.      - HOMEPAGE_ALLOWED_HOSTS=YOUR_IP:3000,YOUR_TAILSCALE_IP:3000
  209.       - PUID=${PUID}
  210.       - PGID=${PGID}
  211.     networks:
  212.      - default
  213.     restart: unless-stopped
  214.  
  215.   glances:
  216.     image: nicolargo/glances:latest-full
  217.     pid: host
  218.     network_mode: host
  219.     env_file: .env
  220.     container_name: glances
  221.     volumes:
  222.      - /var/run/docker.sock:/var/run/docker.sock
  223.       - /etc/os-release:/etc/os-release:ro
  224.     environment:
  225.      - PUID=${PUID}
  226.       - PGID=984
  227.       - TZ=${TZ}
  228.       - "GLANCES_OPT=-w"
  229.       - NVIDIA_VISIBLE_DEVICES=all
  230.     deploy:
  231.       resources:
  232.         reservations:
  233.           devices:
  234.             - driver: nvidia
  235.               count: 1
  236.               capabilities: [gpu]
  237.     runtime: nvidia
  238.     restart: unless-stopped
  239.  
  240.   nginx-proxy-manager:
  241.     image: jc21/nginx-proxy-manager:latest
  242.     container_name: nginx-proxy-manager
  243.     restart: unless-stopped
  244.     ports:
  245.      - '80:80'      # HTTP
  246.       - '81:81'      # Admin Web Port
  247.       - '443:443'    # HTTPS
  248.     environment:
  249.      - PUID=${PUID}
  250.       - PGID=${PGID}
  251.       - TZ=${TZ}
  252.     volumes:
  253.      - /path/to/docker/nginx-proxy-manager/data:/data
  254.       - /path/to/docker/nginx-proxy-manager/letsencrypt:/etc/letsencrypt
  255.     networks:
  256.      - default
  257.  
  258.   portainer:
  259.     image: portainer/portainer-ce:lts
  260.     container_name: portainer
  261.     restart: unless-stopped
  262.     ports:
  263.      - "9443:9443"
  264.       - "8000:8000"
  265.     environment:
  266.      - PUID=${PUID}
  267.       - PGID=${PGID}
  268.       - TZ=${TZ}
  269.     volumes:
  270.      - /var/run/docker.sock:/var/run/docker.sock
  271.       - portainer_data:/data
  272.     security_opt:
  273.      - no-new-privileges:true
  274.     networks:
  275.      - default
  276.  
  277.   speedtest-tracker:
  278.     image: lscr.io/linuxserver/speedtest-tracker:latest
  279.     container_name: speedtest-tracker
  280.     environment:
  281.      - PUID=${PUID}
  282.       - PGID=${PGID}
  283.       - APP_TIMEZONE=${TZ}
  284.       - APP_KEY=${SPEEDTEST_TRACKER_APP_KEY}
  285.       - DB_CONNECTION=sqlite
  286.       - SPEEDTEST_SCHEDULE=0 */3 * * *
  287.       - SPEEDTEST_SERVERS=56593,70723,61642,24623,17358,35180,25719
  288.       - PRUNE_RESULTS_OLDER_THAN=14
  289.     volumes:
  290.      - /path/to/docker/speedtest-tracker:/config
  291.     ports:
  292.      - 82:80
  293.     restart: unless-stopped
  294.  
  295. networks:
  296.     default:
  297.       driver: bridge
  298.  
  299. volumes:
  300.  portainer_data:
Add Comment
Please, Sign In to add comment