diff --git a/homelab-compose.yml b/homelab-compose.yml new file mode 100644 index 0000000..49b4616 --- /dev/null +++ b/homelab-compose.yml @@ -0,0 +1,290 @@ +--- +# PXDGBOX Docker Config +# last update: 2024-10-21 + +include: +# - ./tailscale.yml +# - ./bitmagnet/bitmagnet.yml + - ./qbittorrent/qb.yml + - ./flaresolverr.yml + +# extensions/shortcuts +x-app-defaults: &app-defaults + environment: + - TZ=America/New_York + - PUID=1000 + - PGID=1000 + restart: unless-stopped + volumes: + - /media/starbasealpha/media:/media + +x-gpu-enable: &gpu-enable + devices: + - /dev/dri:/dev/dri + +# SERVICES +services: + # ARR stack + # Radarr - Movie Download - http://192.168.1.42:7878/ - https://movie.xt.pxdg.net/ + radarr: + image: lscr.io/linuxserver/radarr:latest + container_name: radarr + environment: + - PUID=1000 + - PGID=1000 + - TZ=America/New_York + volumes: + - ./radarr:/config + - /media/starbasealpha/media/Movies:/movies + - /media/starbasealpha/media/pxdg-sb:/downloads + - /data:/data + restart: unless-stopped + ports: + - 7878:7878 + labels: + - diun.enable=true + + # Lidarr - Music Download - http://192.168.1.42:8686/ +# lidarr: +# image: lscr.io/linuxserver/lidarr:latest +# container_name: lidarr +# environment: +# - PUID=1000 +# - PGID=1000 +# - TZ=America/New_York +# volumes: +# - ./lidarr:/config +# - /media/starbasealpha/music:/music +# - /data:/data +# restart: unless-stopped +# ports: +# - 8686:8686 + + # Prowlarr - Torrent Indexer - http://192.168.1.42:9696/ + prowlarr: + image: lscr.io/linuxserver/prowlarr:latest + container_name: prowlarr + environment: + - PUID=1000 + - PGID=1000 + - TZ=America/New_York + volumes: + - ./prowlarr:/config + - /data:/data + ports: + - 9696:9696 + restart: unless-stopped + labels: + - diun.enable=true + + # Sonarr - TV Download - http://192.168.1.42:8989/ - https://tv.xt.pxdg.net/ + sonarr: + image: lscr.io/linuxserver/sonarr:latest + container_name: sonarr + environment: + - PUID=1000 + - PGID=1000 + - TZ=America/New_York + volumes: + - ./sonarr:/config + - '/media/starbasealpha/media/TV Shows:/tv' + - /data:/data + ports: + - 8989:8989 + restart: unless-stopped + labels: + - diun.enable=true + + # Bazarr - Subtitles - http://192.168.1.42:6767/ + bazarr: + image: lscr.io/linuxserver/bazarr:latest + container_name: bazarr + environment: + - PUID=1000 + - PGID=1000 + - TZ=America/New_York + volumes: + - ./bazarr:/config + - /data/media:/data/media + restart: unless-stopped + ports: + - 6767:6767 + labels: + - diun.enable=true + + # readarr +# readarr: +# image: lscr.io/linuxserver/readarr:develop +# container_name: readarr +# environment: +# - PUID=1000 +# - PGID=1000 +# - TZ=America/New_York +# volumes: +# - /home/pax/homelab/readarr:/config +# - /data:/data +# ports: +# - 8787:8787 +# restart: unless-stopped +# labels: +# - diun.enable=true + + # NZBHydra2 - Usenet Indexer - http://192.168.1.42:5076/ + nzbhydra2: + image: lscr.io/linuxserver/nzbhydra2:latest + container_name: nzbhydra2 + environment: + - PUID=1000 + - PGID=1000 + - TZ=America/New_York + volumes: + - ./nzbhydra2/config:/config + - /data/usenet:/data/usenet + ports: + - 5076:5076 + restart: unless-stopped + labels: + - diun.enable=true + + # sabNZBd - Usenet Download Client - http://192.168.1.42:10100/ + sabnzbd: + image: lscr.io/linuxserver/sabnzbd:latest + container_name: sabnzbd + environment: + - PUID=1000 + - PGID=1000 + - TZ=America/New_York + volumes: + - ./sabnzbd/config:/config + - /data/usenet:/data/usenet + ports: + - 10100:8080 + restart: unless-stopped + labels: + - diun.enable=true + + # n8n - Workflow Automation (like IFTTT) - http://192.168.1.42:5678 - https://x.pxdg.net/ + # n8n: + # image: docker.n8n.io/n8nio/n8n:latest + # container_name: n8n + # restart: unless-stopped + # ports: + # - 5678:5678 + # volumes: + # - n8n_data:/home/node/.n8n + # environment: + # - TZ=America/New_York + # - GENERIC_TIMEZONE=America/New_York + # - NODE_ENV=production + # - N8N_PORT=5678 + # - WEBHOOK_URL=https://x.pxdg.net/ + + # Plex Media Server - http://192.168.1.42:32400 + plex: + container_name: plex + image: plexinc/pms-docker + restart: unless-stopped + network_mode: host + environment: + - TZ=America/New_York + - PLEX_CLAIM=claim-H9e_M8kqUVFpkUSGHdxf + - ADVERTISE_IP=http://192.168.1.42:32400/ + volumes: + - ./plex/config:/config + - ./plex/transcode:/transcode + - /media/starbasealpha/media:/data + - /media/starbasealpha/music:/music + deploy: + resources: + reservations: + devices: + - driver: nvidia + count: all + capabilities: [gpu] + devices: + - /dev/dri:/dev/dri + labels: + - diun.enable=true + + # deluge test - http://192.168.1.42:8112 + deluge: + container_name: deluge + image: lscr.io/linuxserver/deluge:latest + restart: unless-stopped + environment: + - PUID=1000 + - PGID=1000 + - TZ=America/New_York + - DELUGE_LOGLEVEL=error + volumes: + - ./deluge/config:/config + - ./deluge/downloads:/downloads + - /data/torrents:/data/torrents + network_mode: "service:vpn" + depends_on: + - vpn + labels: + - diun.enable=true + + # NordVPN container + # has NET_ADMIN and NET_RAW to allow passage of all data through this container successfully. + vpn: + container_name: vpn + image: ghcr.io/bubuntux/nordlynx:latest + cap_add: + - NET_ADMIN + - NET_RAW + environment: + - PRIVATE_KEY=wNrGPRqPLWdKUVqgwY0pUyDAkB4Npd0cFCvIEt/N+0E= + - TABLE=auto # Automatically manage local routing table + - NET_LOCAL=192.168.1.0/24 # Allow the local network to connect to this container + ports: + - 8112:8112 # deluge web UI + - 8123:8123 # qb web ui + - 6881:6881 # dht port - deluge + - 6881:6881/udp # dht udp - deluge + - 12345:12345 + - 12345:12345/udp + - 58846:58846 # deluge daemon + labels: + - diun.enable=true + + portainer: + container_name: portainer + image: portainer/portainer-ce:latest + ports: + - 9443:9443 + volumes: + - portainer_data:/data + - /var/run/docker.sock:/var/run/docker.sock + - /home/pax/.docker/desktop/docker.sock:/var/run/docker-desktop.sock + restart: unless-stopped + + # audiobookshelf +# audiobookshelf: +# image: ghcr.io/advplyr/audiobookshelf:latest +# ports: +# - 13378:80 +# volumes: +# - /data/books/audiobooks:/data/books/audiobooks +# - /data/books/podcasts:/data/books/podcasts +# - /home/pax/homelab/audiobookshelf/config:/config +# - /home/pax/homelab/audiobookshelf/metadata:/metadata +# environment: +# TZ: America/New_York +# labels: +# - diun.enable=true + + watchtower: + container_name: watchtower + image: containrrr/watchtower +# environment: +# WATCHTOWER_NOTIFICATION_URL: "pushover://shoutrrr:as1dv2625gjihbjgj5bqruy7z98o8m@ux1kbvbja79gt6xdhidk893ufj9mgu" + volumes: + - /var/run/docker.sock:/var/run/docker.sock + command: --interval 30 + restart: always + +volumes: + portainer_data: + external: true \ No newline at end of file