version: "3"
services:
  sonarr:
    container_name: sonarr
    image: lscr.io/linuxserver/sonarr:latest
    ports:
      - 8989:8989
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - UMASK_SET=022
      - TZ=${TZ}
    volumes:
      - "./config/sonarr:/config"
      - "CHANGE_TO_COMPOSE_DATA_PATH:/data"
    restart: unless-stopped
  radarr:
    container_name: radarr
    image: lscr.io/linuxserver/radarr:latest
    ports:
      - 7878:7878
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - UMASK_SET=022
      - TZ=${TZ}
    volumes:
      - "./config/radarr:/config"
      - "CHANGE_TO_COMPOSE_DATA_PATH:/data"
    restart: unless-stopped
  lidarr:
    container_name: lidarr
    image: lscr.io/linuxserver/lidarr:latest
    ports:
      - 8686:8686
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - UMASK_SET=022
      - TZ=${TZ}
      - DOCKER_MODS=linuxserver/mods:universal-docker
    volumes:
      - "./config/lidarr:/config"
      - "CHANGE_TO_COMPOSE_DATA_PATH:/data"
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
    restart: unless-stopped
  readarr:
    container_name: readarr
    image: lscr.io/linuxserver/readarr:develop
    ports:
      - 8787:8787
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - UMASK_SET=022
      - TZ=${TZ}
    volumes:
      - "./config/readarr:/config"
      - "CHANGE_TO_COMPOSE_DATA_PATH:/data"
    restart: unless-stopped
  prowlarr:
    container_name: prowlarr
    image: lscr.io/linuxserver/prowlarr:develop
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - UMASK_SET=022
      - TZ=${TZ}
    volumes:
      - "./config/prowlarr:/config"
    ports:
      - 9696:9696
    restart: unless-stopped
  sabnzbd:
    container_name: sabnzbd
    image: lscr.io/linuxserver/sabnzbd:latest
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
    volumes:
      - "./config/sabnzbd:/config"
      - "CHANGE_TO_COMPOSE_DATA_PATH/usenet:/data/usenet:rw"
    ports:
      - 8080:8080
    restart: unless-stopped
  pia-qbittorrent:
    image: j4ym0/pia-qbittorrent
    container_name: pia-qbittorrent
    cap_add:
      - NET_ADMIN
    environment:
      - UID=${PUID}
      - GID=${PGID}
      - TZ=${TZ}
      - REGION=Netherlands
      - USER=${PIA_USER}
      - PASSWORD=${PIA_PASS}
    volumes:
      - "./config/piaqbit:/config"
      - "CHANGE_TO_COMPOSE_DATA_PATH/torrent:/downloads:rw"
    ports:
      - "8888:8888"
    restart: unless-stopped
  jellyfin:
    image: lscr.io/linuxserver/jellyfin:latest
    container_name: jellyfin
    environment:
      - PUID={$PUID}
      - PGID={$PGID}
      - TZ=${TZ}
      #- JELLYFIN_PublishedServerUrl=192.168.0.5 #optional
    volumes:
      - ".config/jellyfin:/config"
      - "CHANGE_TO_COMPOSE_DATA_PATH/media:/data"
    ports:
      - 8096:8096
      - 7359:7359/udp #optional - network discovery
      - 1900:1900/udp #optional - dlna discovery
    restart: unless-stopped
  audiobookshelf:
    container_name: audiobookshelf
    image: ghcr.io/advplyr/audiobookshelf:latest
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - UMASK_SET=022
      - TZ=${TZ}
    ports:
      - 13378:80
    volumes:
      - "CHANGE_TO_COMPOSE_DATA_PATH/media/audio/books:/audiobooks"
      - "CHANGE_TO_COMPOSE_DATA_PATH/media/audio/podcasts:/podcasts"
      - ".config/audiobookshelf:/config"
      - ".metadata/audiobookshelf:/metadata"
    restart: unless-stopped
  jellyseerr:
    image: fallenbagel/jellyseerr:latest
    container_name: jellyseerr
    environment:
      - TZ=${TZ}
    ports:
      - 5055:5055
    volumes:
      - "./config/jellyseerr:/app/config"
    restart: unless-stopped
  beets:
    image: lscr.io/linuxserver/beets:latest
    container_name: beets
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
    volumes:
      - "./config/beets:/config"
      - "CHANGE_TO_COMPOSE_DATA_PATH/media/audio/music:/music"
      - "CHANGE_TO_COMPOSE_DATA_PATH/media/audio/music-unsorted:/downloads"
      - "CHANGE_TO_COMPOSE_DATA_PATH:/data"
    ports:
      - 8337:8337
    restart: unless-stopped
  homarr:
    image: ghcr.io/ajnart/homarr:latest
    container_name: homarr
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock # Optional, only if you want docker integration
      - ./config/homarr/configs:/app/data/configs
      - ./config/homarr/icons:/app/public/icons
      - ./config/homarr/data:/data
    ports:
      - '80:7575'
    restart: unless-stopped