diff --git a/docker-compose.yaml b/docker-compose.yaml index 1ad7c75..215d4dc 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,6 +1,47 @@ --- - services: + jellyfin: + image: lscr.io/linuxserver/jellyfin:latest + container_name: jellyfin + environment: + - PUID=1000 + - PGID=1000 + - TZ=America/Los_Angeles + - NVIDIA_VISIBLE_DEVICES=ALL + - NVIDIA_DRIVER_CAPABILITIES=all + - JELLYFIN_PublishedServerUrl=192.168.1.27 #optional + volumes: + - /home/ronnic/Configs/jellyfin:/config + - /media/easystore/TV:/tv + - /media/easystore2/Movies:/movies + - /media/mypassport/Anime-Movies:/animemovies + - /media/mypassport/Anime-Series:/animeseries + - /media/elements/anime-series2:/animeseries2 + - /media/elements/anime-movies2:/animemovies2 + - /media/easystorev/anime:/anime + - /media/easystorev/animemovies/:/animemovies3 + - /media/elements/TV2:/tv2 + - /media/elements/Movies2:/movies2 + - /media/easystore3/Movies3:/movies3 + - /media/easystore3/TV3:/tv3 + - /media/easystore4/kidsmovies:/kidsmovies + - /media/easystorev/KidsMovies2:/kidsmovies2 + - /media/easystore4/kidstv:/kidstv + - /media/easystore4/tv18:/tv18 + - /media/easystorev/TV5:/tv5 + - /media/easystorev/KidsTV2:/kidstv2 + - /media/easystore/Movies:/Movies1 + ports: + - 8096:8096 + restart: unless-stopped + deploy: + resources: + reservations: + devices: + - driver: nvidia + count: 1 + capabilities: [gpu] + plex: image: lscr.io/linuxserver/plex deploy: @@ -19,11 +60,26 @@ services: - 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 + - /home/ronnic/Configs:/config + - /media/easystore/TV:/tv + - /media/easystore2/Movies:/movies + - /media/mypassport/Anime-Movies:/animemovies + - /media/mypassport/Anime-Series:/animeseries + - /media/elements/anime-series2:/animeseries2 + - /media/elements/anime-movies2:/animemovies2 + - /media/easystorev/anime:/anime + - /media/easystorev/animemovies/:/animemovies3 + - /media/elements/TV2:/tv2 + - /media/elements/Movies2:/movies2 + - /media/easystore3/Movies3:/movies3 + - /media/easystore3/TV3:/tv3 + - /media/easystore4/kidsmovies:/kidsmovies + - /media/easystorev/KidsMovies2:/kidsmovies2 + - /media/easystore4/kidstv:/kidstv + - /media/easystore4/tv18:/tv18 + - /media/easystorev/TV5:/tv5 + - /media/easystorev/KidsTV2:/kidstv2 + - /media/easystore/Movies:/Movies1 restart: unless-stopped prowlarr: @@ -34,7 +90,7 @@ services: - PGID=1000 - TZ=Etc/UTC volumes: - - /home/user/Configs/Prowlarr:/config + - /home/ronnic/Configs/Prowlarr:/config ports: - 9696:9696 restart: unless-stopped @@ -48,9 +104,16 @@ services: - TZ=America/Los_Angeles - UMASK_SET=022 #optional volumes: - - /home/user/Configs/Radarr:/config - - /media/storage/Downloads:/Downloads - - /media/storage/Movies:/Movies + - /home/ronnic/Configs/Radarr:/config + - /media/easystore/Downloads:/Downloads + - /media/easystorev/Download:/Download + - /media/easystore2/Movies:/Movies + - /media/elements/Movies2:/Movies2 + - /media/mypassport/Anime-Movies:/animemovies + - /media/easystore3/Movies3:/movies3 + - /media/easystore4/kidsmovies:/kidsmovies + - /media/easystorev/KidsMovies2:/kidsmovies2 + - /media/easystore/Movies:/Movies1 ports: - 7878:7878 restart: unless-stopped @@ -64,9 +127,15 @@ services: - TZ=America/Los_Angeles - UMASK_SET=022 volumes: - - /home/user/Configs/Sonarr:/config - - /media/storage/Downloads:/Downloads - - /media/storage/TV:/TV + - /home/ronnic/Configs/Sonarr:/config + - /media/easystorev/Download:/Download + - /media/easystore/TV:/TV + - /media/easystore3/TV3:/tv3 + - /media/easystore4/kidstv:/kidstv + - /media/easystore4/tv18:/tv18 + - /media/elements/TV2:/tv2 + - /media/easystorev/TV5:/tv5 + - /media/easystorev/KidsTV2:/kidstv2 ports: - 8989:8989 restart: unless-stopped @@ -80,12 +149,14 @@ services: - TZ=America/Los_Angeles - UMASK_SET=022 volumes: - - /home/storage/Configs/Sonarr-anime:/config - - /media/storage/Downloads:/Downloads - - /media/storage/Anime-Series:/animeseries - + - /home/ronnic/Configs/Sonarr-anime:/config + - /media/easystore/Downloads:/Downloads + - /media/easystorev/Download:/Download + - /media/mypassport/Anime-Series:/animeseries + - /media/elements/anime-series2:/animeseries2 + - /media/easystorev/anime:/anime ports: - - 9090:8989 + - 9191:8989 restart: unless-stopped requestrr: @@ -96,7 +167,7 @@ services: - PGID=1000 - TZ=America/Los_Angeles volumes: - - /home/user/Configs/Requestrr:/config + - /home/ronnic/Configs/Requestrr:/config ports: - 4545:4545 restart: unless-stopped @@ -109,7 +180,7 @@ services: - PGID=1000 - TZ=America/Los_Angeles volumes: - - /home/user/Configs/Overseerr:/config + - /home/ronnic/Configs/Overseerr:/config ports: - 5055:5055 restart: unless-stopped @@ -122,8 +193,20 @@ services: - PGID=1000 - TZ=America/Los_Angeles volumes: - - /home/user/Configs/Bazarr:/config - - /media/storage/TV:/TV + - /home/ronnic/Configs/Bazarr:/config + - /media/easystore/TV:/TV + - /media/easystore3/TV3:/tv3 + - /media/easystore4/kidstv:/kidstv + - /media/easystore4/tv18:/tv18 + - /media/elements/TV2:/tv2 + - /media/easystore2/Movies:/Movies + - /media/elements/Movies2:/Movies2 + - /media/easystore3/Movies3:/movies3 + - /media/easystore4/kidsmovies:/kidsmovies + - /media/easystorev/KidsMovies2:/kidsmovies2 + - /media/easystorev/TV5:/tv5 + - /media/easystorev/Download:/Download + - /media/easystore/Movies:/Movies1 ports: - 6767:6767 restart: unless-stopped @@ -136,135 +219,31 @@ services: - PGID=1000 - TZ=America/Los_Angeles volumes: - - /home/user/Configs/Sabnzbd:/config - - /media/storage/Downloads:/Downloads - - /media/storage/Downloads/Incomplete:/incomplete-downloads #optional + - /home/ronnic/Configs/Sabnzbd:/config + - /media/easystore/Downloads:/Downloads + - /media/easystore/Downloads/Incomplete:/incomplete-downloads #optional + - /media/easystorev/Download:/Download + - /media/easystorev/Download/Incomplete:/inc-dl 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) + image: jvmilazz0/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 + - /media/easystorev/reading/manga:/manga # Manga is just an example you can have the name you want. See the following + - /media/easystorev/reading/comics:/comics # Use as many as you want + - /media/easystorev/reading/magazines:/magazines # + - /media/easystorev/reading/tabletop:/tabletop + - /media/easystorev/reading/Guides:/guides + - /home/ronnic/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 @@ -281,51 +260,47 @@ services: - 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 + - /home/ronnic/Configs/Navidrome/data:/data + - /media/easystore3/audio:/music:ro + stash: + image: stashapp/stash:latest + container_name: stash restart: unless-stopped - volumes: - - /home/user/Configs/Tatulli:/config - environment: - - PUID=1000 - - PGID=1000 - - TZ=America/Los_Angeles + ## the container's port must be the same with the STASH_PORT in the environment section ports: - - 8181:8181 - - librespeed: - image: lscr.io/linuxserver/librespeed:latest - container_name: librespeed + - "9999:9999" + ## If you intend to use stash's DLNA functionality uncomment the below network mode and comment out the above ports section + # network_mode: host + logging: + driver: "json-file" + options: + max-file: "10" + max-size: "2m" 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 + - STASH_STASH=/data/ + - STASH_GENERATED=/generated/ + - STASH_METADATA=/metadata/ + - STASH_CACHE=/cache/ + ## Adjust below to change default port (9999) + - STASH_PORT=9999 volumes: - - /var/run/docker.sock:/var/run/docker.sock - ports: - - 9988:8080 - + - /etc/localtime:/etc/localtime:ro + ## Adjust below paths (the left part) to your liking. + ## E.g. you can change ./config:/root/.stash to ./stash:/root/.stash + + ## Keep configs, scrapers, and plugins here. + - /home/ronnic/Configs/Stash:/root/.stash + ## Point this at your collection. + - /media/easystore3/stsh/:/data + ## This is where your stash's metadata lives + - /home/ronnic/Configs/Stash/metadata:/metadata + ## Any other cache content. + - /home/ronnic/Configs/Stash/cache:/cache + ## Where to store binary blob data (scene covers, images) + - /home/ronnic/Configs/Stash/blobs:/blobs + ## Where to store generated content (screenshots,previews,transcodes,sprites) + - /home/ronnic/Configs/Stash/generated:/generated + metube: image: ghcr.io/alexta69/metube container_name: metube @@ -333,23 +308,24 @@ services: ports: - "8081:8081" volumes: - - /media/storage/Downloads/youtube:/downloads + - /media/easystore/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/ronnic/Configs/Pyload:/config + # - /media/easystore/Downloads/pyload:/downloads + # ports: + # - 8001:8000 + # - 9666:9666 #optional + # restart: unless-stopped - 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 @@ -358,63 +334,12 @@ services: - "80:80" - "443:443" volumes: - - /home/user/Configs/Caddy/Caddyfile:/etc/caddy/Caddyfile + - /home/ronnic/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 + - /home/ronnic/Configs/Caddy/data:/data + - /home/ronnic/Configs/Caddy/config:/config - 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 @@ -429,11 +354,28 @@ services: - PEERPORT= #optional - HOST_WHITELIST= #optional volumes: - - /home/user/Configs/Transmission/data:/config - - /media/storage/Downloads/torrents:/downloads - - /media/storage/Downloads/torrents:/watch + - /home/ronnic/Configs/Transmission/data:/config + - /media/easystorev/Download/torrents:/downloads + - /media/easystorev/Download/torrents:/watch ports: - 9091:9091 - 51415:51413 - 51413:51413/udp restart: unless-stopped + + + lidarr: + image: lscr.io/linuxserver/lidarr:latest + container_name: lidarr + environment: + - PUID=1000 + - PGID=1000 + - TZ=America/Los_Angeles + volumes: + - /home/ronnic/Configs/Lidarr:/config + - /media/easystore3/audio:/music #optional + - /media/easystore/Downloads:/downloads #optional + ports: + - 8686:8686 + restart: unless-stopped +