--- services: plex: image: lscr.io/linuxserver/plex deploy: resources: reservations: devices: - capabilities: - gpu container_name: plex network_mode: host environment: - PUID=1000 - PGID=1000 - VERSION=docker - NVIDIA_VISIBLE_DEVICES=ALL - NVIDIA_DRIVER_CAPABILITIES=all - PLEX_CLAIM= #optional volumes: - /home/user/Configs:/config - /media/storage/TV:/tv - /media/storage/Movies:/movies - /media/storage/Anime-Movies:/animemovies - /media/storage/Anime-Series:/animeseries restart: unless-stopped prowlarr: image: lscr.io/linuxserver/prowlarr:latest container_name: prowlarr environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC volumes: - /home/user/Configs/Prowlarr:/config ports: - 9696:9696 restart: unless-stopped radarr: image: linuxserver/radarr container_name: radarr environment: - PUID=1000 - PGID=1000 - TZ=America/Los_Angeles - UMASK_SET=022 #optional volumes: - /home/user/Configs/Radarr:/config - /media/storage/Downloads:/Downloads - /media/storage/Movies:/Movies ports: - 7878:7878 restart: unless-stopped sonarr: image: linuxserver/sonarr container_name: sonarr environment: - PUID=1000 - PGID=1000 - TZ=America/Los_Angeles - UMASK_SET=022 volumes: - /home/user/Configs/Sonarr:/config - /media/storage/Downloads:/Downloads - /media/storage/TV:/TV ports: - 8989:8989 restart: unless-stopped sonarr-anime: image: linuxserver/sonarr container_name: sonarr-anime environment: - PUID=1000 - PGID=1000 - TZ=America/Los_Angeles - UMASK_SET=022 volumes: - /home/storage/Configs/Sonarr-anime:/config - /media/storage/Downloads:/Downloads - /media/storage/Anime-Series:/animeseries ports: - 9090:8989 restart: unless-stopped requestrr: image: lscr.io/linuxserver/requestrr container_name: requestrr environment: - PUID=1000 - PGID=1000 - TZ=America/Los_Angeles volumes: - /home/user/Configs/Requestrr:/config ports: - 4545:4545 restart: unless-stopped overseerr: image: lscr.io/linuxserver/overseerr container_name: overseerr environment: - PUID=1000 - PGID=1000 - TZ=America/Los_Angeles volumes: - /home/user/Configs/Overseerr:/config ports: - 5055:5055 restart: unless-stopped bazarr: image: lscr.io/linuxserver/bazarr:latest container_name: bazarr environment: - PUID=1000 - PGID=1000 - TZ=America/Los_Angeles volumes: - /home/user/Configs/Bazarr:/config - /media/storage/TV:/TV ports: - 6767:6767 restart: unless-stopped sabnzbd: image: ghcr.io/linuxserver/sabnzbd container_name: sabnzbd environment: - PUID=1000 - PGID=1000 - TZ=America/Los_Angeles volumes: - /home/user/Configs/Sabnzbd:/config - /media/storage/Downloads:/Downloads - /media/storage/Downloads/Incomplete:/incomplete-downloads #optional ports: - 8080:8080 restart: unless-stopped pihole: container_name: pihole image: pihole/pihole:latest # For DHCP it is recommended to remove these ports and instead add: network_mode: "host" ports: - "53:53/tcp" - "53:53/udp" - "67:67/udp" # Only required if you are using Pi-hole as your DHCP server - "1080:80/tcp" #access via http://ipaddress:1080/admin environment: TZ: 'America/Los_Angeles' WEBPASSWORD: '${SECUREPASSWORD}' # Volumes store your data between container upgrades volumes: - './etc-pihole:/etc/pihole' - './etc-dnsmasq.d:/etc/dnsmasq.d' # https://github.com/pi-hole/docker-pi-hole#note-on-capabilities cap_add: - NET_ADMIN # Required if you are using Pi-hole as your DHCP server, else not needed restart: unless-stopped dashy: container_name: Dashy image: lissy93/dashy # Set port that web service will be served on. Keep container port as 80 ports: - 4000:80 # Set any environmental variables environment: - NODE_ENV=production # Specify your user ID and group ID. You can find this by running `id -u` and `id -g` # - UID=1000 # - GID=1000 # Specify restart policy restart: unless-stopped # Configure healthchecks healthcheck: test: ['CMD', 'node', '/app/services/healthcheck'] interval: 1m30s timeout: 10s retries: 3 start_period: 40s kavita: image: kizaing/kavita:latest # Change latest to nightly for latest develop builds (can't go back to stable) container_name: kavita volumes: - /media/storage/reading/manga:/manga # Manga is just an example you can have the name you want. See the following - /media/storage/reading/comics:/comics # Use as many as you want - /media/storage/reading/magazines:/magazines # - /home/user/Configs/kavita:/kavita/config # Change './data if you want to have the config files in a different place. # /kavita/config must not be changed environment: - TZ=America/Los_Angeles ports: - 5000:5000 # Change the public port (the first 5000) if you have conflicts with other services restart: unless-stopped dashy: container_name: Dashy # Pull latest image from DockerHub image: lissy93/dashy ports: - 4000:80 # Set any environmental variables environment: - NODE_ENV=production # Specify your user ID and group ID. You can find this by running `id -u` and `id -g` # - UID=1000 # - GID=1000 # Specify restart policy restart: unless-stopped # Configure healthchecks healthcheck: test: ['CMD', 'node', '/app/services/healthcheck'] interval: 1m30s timeout: 10s retries: 3 start_period: 40s prometheus: image: prom/prometheus container_name: prometheus environment: - PUID=1000 - PGID=1000 - TZ=America/Los_Angeles - UMASK_SET=022 volumes: - /home/user/Configs/Prometheus/prometheus.yml:/etc/prometheus/prometheus.yml ports: - 9292:9090 restart: unless-stopped node-exporter: image: quay.io/prometheus/node-exporter:latest container_name: node-exporter network_mode: host environment: - PUID=1000 - PGID=1000 - TZ=America/Los_Angeles - UMASK_SET=022 volumes: - /:/host:ro,rslave ports: - 9100:9090 restart: unless-stopped grafana: image: grafana/grafana container_name: grafana environment: - PUID=1000 - PGID=1000 - TZ=America/Los_Angeles - UMASK_SET=022 ports: - 3000:3000 restart: unless-stopped navidrome: image: deluan/navidrome:latest container_name: navidrome ports: - 8200:4533 restart: unless-stopped environment: - PUID=1000 - PGID=1000 - TZ=America/Los_Angeles - ND_SCANINTERVAL=1m - ND_LOGLEVEL=info - ND_PORT=4533 - ND_TRANSCODINGCACHESIZE=100MB - ND_SESSIONTIMEOUT=24h volumes: - /home/user/Configs/Navidrome/data:/data - /media/storage/audio:/music:ro tautulli: image: ghcr.io/tautulli/tautulli container_name: tautulli restart: unless-stopped volumes: - /home/user/Configs/Tatulli:/config environment: - PUID=1000 - PGID=1000 - TZ=America/Los_Angeles ports: - 8181:8181 librespeed: image: lscr.io/linuxserver/librespeed:latest container_name: librespeed environment: - PUID=1000 - PGID=1000 - TZ=America/Los_Angeles - PASSWORD=PASSWORD - CUSTOM_RESULTS=false #optional - DB_TYPE=sqlite #optional - DB_NAME=DB_NAME #optional - DB_HOSTNAME=DB_HOSTNAME #optional - DB_USERNAME=DB_USERNAME #optional - DB_PASSWORD=DB_PASSWORD #optional - DB_PORT=DB_PORT #optional volumes: - /home/user/Configs/Librespeed/config:/config ports: - 1082:80 restart: unless-stopped dozzle: container_name: dozzle image: amir20/dozzle:latest volumes: - /var/run/docker.sock:/var/run/docker.sock ports: - 9988:8080 metube: image: ghcr.io/alexta69/metube container_name: metube restart: unless-stopped ports: - "8081:8081" volumes: - /media/storage/Downloads/youtube:/downloads pyload-ng: image: lscr.io/linuxserver/pyload-ng:latest container_name: pyload-ng environment: - PUID=1000 - PGID=1000 - TZ=America/Los_Angeles volumes: - /home/user/Configs/Pyload:/config - /media/storage/download/pyload:/downloads ports: - 8001:8000 - 9666:9666 #optional restart: unless-stopped caddy: container_name: caddy image: caddy restart: unless-stopped ports: - "80:80" - "443:443" volumes: - /home/user/Configs/Caddy/Caddyfile:/etc/caddy/Caddyfile # - $PWD/site:/srv - /home/user/Configs/Caddy/data:/data - /home/user/Configs/Caddy/config:/config gitea-server: image: gitea/gitea:1.19.0 container_name: gitea environment: - USER_UID=1000 - USER_GID=1000 - GITEA__database__DB_TYPE=mysql - GITEA__database__HOST=db:3306 - GITEA__database__NAME=gitea - GITEA__database__USER=gitea - GITEA__database__PASSWD=gitea restart: always networks: - gitea volumes: - /home/user/Configs/gitea:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "3001:3000" - "222:22" depends_on: - db db: image: mysql:8 restart: always environment: - MYSQL_ROOT_PASSWORD=gitea - MYSQL_USER=gitea - MYSQL_PASSWORD=gitea - MYSQL_DATABASE=gitea networks: - gitea volumes: - /home/user/Configs/mysql:/var/lib/mysql code-server: image: lscr.io/linuxserver/code-server:latest container_name: code-server environment: - PUID=1000 - PGID=1000 - TZ=America/Los_Angeles - PASSWORD=${PASSWORD} - SUDO_PASSWORD=${SUDO_PASSWORD} volumes: - /home/user/Configs/Code-server:/config ports: - 8443:8443 restart: unless-stopped transmission: image: lscr.io/linuxserver/transmission:latest container_name: transmission environment: - PUID=1000 - PGID=1000 - TZ=America/Los_Angeles - TRANSMISSION_WEB_HOME= #optional - USER= #optional - PASS= #optional - WHITELIST= #optional - PEERPORT= #optional - HOST_WHITELIST= #optional volumes: - /home/user/Configs/Transmission/data:/config - /media/storage/Downloads/torrents:/downloads - /media/storage/Downloads/torrents:/watch ports: - 9091:9091 - 51415:51413 - 51413:51413/udp restart: unless-stopped