---
services:
  bazarr:
    image: ghcr.io/linuxserver/bazarr@sha256:81e922037f03d40c77220d20ed73591b0ef9995638d5c68ff2c5d82ae36eea8d
    container_name: bazarr
    ports:
      - "6767:6767"
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /docker/appdata/bazarr:/config
      - /data/media:/data/media
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000

  lidarr:
    image: ghcr.io/linuxserver/lidarr@sha256:c4d9107e03efb0d73bd4491bdb3110fa497da8b53493f60404fbd53087ff0119
    container_name: lidarr
    ports:
      - "8686:8686"
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /docker/appdata/lidarr:/config
      - /data:/data
      - /docker/appdata/lidarr-extended:/custom-services.d
      - /docker/appdata/lidarr-extended1:/custom-cont-init.d
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000

  prowlarr:
    image: ghcr.io/linuxserver/prowlarr@sha256:1e2fffd859ecd260e4aae4798cf5be75938cd602161d21b1d58122afb397c864
    container_name: prowlarr
    ports:
      - "9696:9696"
    volumes:
      - /docker/appdata/prowlarr:/config
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000

  radarr:
    image: ghcr.io/linuxserver/radarr@sha256:a5a1fdf02aa14abc33a507eafa125ff57cb83f251a519536bce331ce9e008ef7
    container_name: radarr
    ports:
      - "7878:7878"
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /docker/appdata/radarr:/config
      - /data:/data
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000

  sonarr:
    image: ghcr.io/linuxserver/sonarr@sha256:c0281bd62b9a75f088fa4a09e5f8776431921883766633cb5e5fbd5a74761155
    container_name: sonarr
    ports:
      - "8989:8989"
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /docker/appdata/sonarr:/config
      - /data:/data
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000

  homarr:
    container_name: homarr
    image: ghcr.io/ajnart/homarr:0.15.6
    restart: unless-stopped
    volumes:
      - /docker/appdata/homarr/configs:/app/data/configs
      - /docker/appdata/homarr/icons:/app/public/icons
      - /docker/appdata/homarr/data:/data
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - '7575:7575'
    environment:
      - AUTH_PROVIDER=oidc
      - AUTH_OIDC_URI=${AUTH_OIDC_URI}
      - AUTH_OIDC_CLIENT_SECRET=${AUTH_OIDC_CLIENT_SECRET}
      - AUTH_OIDC_CLIENT_ID=${AUTH_OIDC_CLIENT_ID}
      - AUTH_OIDC_CLIENT_NAME=authentik
      - BASE_URL=${BASE_URL}
      - NEXTAUTH_URL=${NEXTAUTH_URL}
      - AUTH_OIDC_ADMIN_GROUP=${AUTH_OIDC_ADMIN_GROUP}

  homarr-iframes:
    image: ghcr.io/diogovalentte/homarr-iframes:v0.1.19
    container_name: homarr-iframes
    ports:
      - "8081:8080"
    environment:
      - VIKUNJA_TOKEN=$VIKUNJA_TOKEN
      - INTERNAL_VIKUNJA_ADDRESS=$INTERNAL_VIKUNJA_ADDRESS
      - VIKUNJA_ADDRESS=$VIKUNJA_ADDRESS
      - UPTIMEKUMA_ADDRESS=$UPTIMEKUMA_ADDRESS
      - TZ=$TZ


  doplarr:
    image: ghcr.io/linuxserver/doplarr@sha256:0e6dca25148ee6fe9f6f4e1fe2f3330f35a9f7a2388e86abb03cb6f5c71561d7
    container_name: doplarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=${TZ}
      - DISCORD__TOKEN=${DISCORD__TOKEN}
      - RADARR__API=${RADARR__API}
      - RADARR__URL=${RADARR__URL}
      - SONARR__API=${SONARR__API}
      - SONARR__URL=${SONARR__URL}
      - DISCORD__MAX_RESULTS=${DISCORD__MAX_RESULTS}
      - DISCORD__REQUESTED_MSG_STYLE=${DISCORD__REQUESTED_MSG_STYLE}
      - SONARR__QUALITY_PROFILE=${SONARR__QUALITY_PROFILE}
      - RADARR__QUALITY_PROFILE=${RADARR__QUALITY_PROFILE}
      - SONARR__ROOTFOLDER=${SONARR__ROOTFOLDER}
      - RADARR__ROOTFOLDER=${RADARR__ROOTFOLDER}
      - PARTIAL_SEASONS=${PARTIAL_SEASONS}
      - LOG_LEVEL=${LOG_LEVEL}
      - JAVA_OPTS=${JAVA_OPTS}
    volumes:
      - /docker/appdata/doplarr/config:/config
    restart: unless-stopped

  syncthing:
    image: ghcr.io/linuxserver/syncthing@sha256:8dac7822b7ba91a0798644787a3ed132af145b95dc52ea8f39d63d1add97f86d
    container_name: syncthing
    hostname: ARRS
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - /docker/appdata/syncthing/config:/config
      - /docker/appdata/:/docker/appdata/
    ports:
      - 8384:8384
      - 22000:22000/tcp
      - 22000:22000/udp
      - 21027:21027/udp
    restart: unless-stopped

  ## Should move this to Ubu
  code-server:
    image: ghcr.io/linuxserver/code-server@sha256:78cb3a72f7ecfa67feab0475656516330e7931b6dee7c8313a545654b0fc2985
    container_name: code-server
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - SUDO_PASSWORD=$SUDO_PASSWORD
      - PROXY_DOMAIN=$PROXY_DOMAIN
    volumes:
      - /docker/appdata/code-server/config:/config
    ports:
      - 8443:8443
    restart: unless-stopped
  ## Downloaders
  sabnzbd:
    image: ghcr.io/linuxserver/sabnzbd@sha256:5ae714b1a941a38471c2cc381ec407f93b3d7823c5a77a9a651502036b70ad69
    container_name: sabnzbd
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /docker/appdata/sabnzbd:/config
      - /data/usenet:/data/usenet:rw
    ports:
      - 8080:8080
    restart: unless-stopped

  arch-qbittorrentvpn:
    image: binhex/arch-qbittorrentvpn:4.6.5-1-03
    container_name: qbittorrentvpn
    volumes:
      - '/docker/appdata/qbitty:/config'
      - '/data/torrents/:/data/torrents'
      - '/etc/localtime:/etc/localtime:ro'
    ports:
      - '49550:49550'
      - '49551:8118'
    environment:
      - VPN_ENABLED=yes
      - VPN_PROV=protonvpn
      - VPN_CLIENT=wireguard
      - VPN_USER=mafyuh+pmp
      - VPN_PASS=
      - STRICT_PORT_FORWARD=yes
      - LAN_NETWORK=$LAN_NETWORK
      - ENABLE_PRIVOXY=yes
      - PUID=1000
      - PGID=1000
      - WEBUI_PORT=49550
      - UMASK=1000
      - DEBUG=false
    cap_add:
      - NET_ADMIN
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
    privileged: true
    network_mode: bridge
    restart: unless-stopped

  flaresolverr:
    image: ghcr.io/flaresolverr/flaresolverr:v3.3.21
    container_name: flaresolverr
    ports:
      - '8191:8191'
    environment:
      - LOG_LEVEL=info
    restart: unless-stopped

networks:
  default:
    name: arrs_default