version: '3' services: bazarr: container_name: bazarr image: lscr.io/linuxserver/bazarr:latest environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TZ} ports: - 6767:6767 restart: unless-stopped volumes: - ./appdata/bazarr:/config - /mnt/data:/data collabora: container_name: collabora image: collabora/code environment: domain: ${NEXTCLOUD_DOMAIN} username: ${LO_ONLINE_USERNAME} password: ${LO_ONLINE_PASSWORD} cap_add: - MKNOD ports: - 9980:9980 restart: unless-stopped volumes: - ./appdata/collabora/code:/etc/loolwsd freshrss: container_name: freshrss image: freshrss/freshrss:latest environment: - PUID=${PUID} - PGID=${PGID} - CRON_MIN=*/20 - TZ=${TZ} depends_on: - freshrss-db ports: - 8088:80/tcp restart: unless-stopped volumes: - ./appdata/freshrss/data:/var/www/FreshRSS/data - ./appdata/freshrss/extensions:/var/www/FreshRSS/extensions - /etc/localtime:/etc/localtime:ro freshrss-db: container_name: freshrss-db image: postgres:12-alpine environment: - PUID=${PUID} - PGID=${PGID} - POSTGRES_USER=freshrss - POSTGRES_PASSWORD=freshrss - POSTGRES_DB=freshrss restart: unless-stopped volumes: - ./appdata/freshrss/db/data:/var/lib/postgresql/data - /etc/localtime:/etc/localtime:ro gluetun: container_name: gluetun image: qmcgaw/gluetun environment: - VPN_SERVICE_PROVIDER=mullvad - VPN_TYPE=wireguard - WIREGUARD_PRIVATE_KEY=sJ2PXdrjJxBSSKkV0ofSF6upzVnJZMiarxO+W1AxqHk= - WIREGUARD_ADDRESSES=10.64.154.79/32 - HTTPPROXY=on - SERVER_CITIES=Chicago IL - TZ=${TZ} cap_add: - NET_ADMIN devices: - /dev/net/tun:/dev/net/tun ports: - 3129:3129/tcp # Jdownloader - 5800:5800/tcp # Jdownloader - 5900:5900/tcp # Jdownloader - 8888:8888/tcp # HTTP proxy - 8388:8388/tcp # Shadowsocks - 8388:8388/udp # Shadowsocks - 8181:8080/tcp # SABnzbd - 8191:8090/tcp # SABnzbd - 8282:8282/tcp # qBittorrent - 55361:6881/tcp # qBittorrent - 55361:6881/udp # qBittorrent restart: unless-stopped volumes: - ./appdata/gluetun:/gluetun jackett: container_name: jackett image: binhex/arch-jackett:latest environment: - PGID=${PGID} - PUID=${PUID} - UMASK=${UMASK} ports: - 9117:9117/tcp restart: unless-stopped volumes: - ./appdata/jackett:/config - ./appdata/jackett/data:/data - /mnt/data/downloads:/downloads - /etc/localtime:/etc/localtime:ro jdownloader2: container_name: jdownloader2 image: jlesage/jdownloader-2:latest environment: - PGID=${PGID} - PUID=${PUID} - UMASK=${UMASK} - TZ=${TZ} - KEEP_APP_RUNNING=1 - CLEAN_TMP_DIR=1 - MYJD_USER=akanealw@gmail.com - MYJD_PASSWORD=trUKY4X8wzGiCr75ZmC9 - MYJD_DEVICE_NAME=dockerserver - XDG_DOWNLOAD_DIR=/output network_mode: "service:gluetun" restart: unless-stopped volumes: - ./appdata/jdownloader2:/config - /mnt/data/downloads/jdownloader:/output - /etc/localtime:/etc/localtime:ro kavita: container_name: kavita image: kizaing/kavita:latest ports: - "5002:5000" restart: unless-stopped volumes: - /mnt/storage/ComicsAndManga:/comicsandmanga - ./appdata/kavita/config:/kavita/config kutt: container_name: kutt image: kutt/kutt:latest environment: DB_HOST: kutt-postgres DB_NAME: kutt DB_USER: kutt DB_PASSWORD: kutt REDIS_HOST: kutt-redis env_file: - /opt/docker/.env command: ["./wait-for-it.sh", "kutt-postgres:5432", "--", "npm", "start"] depends_on: - kutt-postgres - kutt-redis ports: - 3000:3000/tcp restart: unless-stopped kutt-redis: container_name: kutt-redis image: redis:6.0-alpine restart: unless-stopped volumes: - ./appdata/kutt/redis_data:/data kutt-postgres: container_name: kutt-postgres image: postgres:12-alpine environment: - POSTGRES_USER=kutt - POSTGRES_PASSWORD=kutt - POSTGRES_DB=kutt restart: unless-stopped volumes: - ./appdata/kutt/postgres_data:/var/lib/postgresql/data lidarr: container_name: lidarr image: lscr.io/linuxserver/lidarr:latest environment: - PGID=${PGID} - PUID=${PUID} - TZ=${TZ} ports: - 8686:8686 restart: unless-stopped volumes: - ./appdata/lidarr/config:/config - /mnt/storage/music/Albums:/music - /mnt/data/downloads/music:/downloads linkding: container_name: linkding image: sissbruecker/linkding:latest env_file: - .env ports: - 9090:9090 restart: unless-stopped volumes: - ./appdata/linkding:/etc/linkding/data meshcentral: container_name: meshcentral image: typhonragewind/meshcentral:latest environment: - HOSTNAME=meshcentral.akanealw.com - REVERSE_PROXY=false - IFRAME=true - ALLOW_NEW_ACCOUNTS=false - WEBRTC=true ports: - 9443:443/tcp - 9080:80/tcp restart: unless-stopped volumes: - ./appdata/meshcentral/data:/opt/meshcentral/meshcentral-data - ./appdata/meshcentral/user_files:/opt/meshcentral/meshcentral-files metube: container_name: metube image: alexta69/metube environment: - STATE_DIR=/config - PUID=${PUID} - PGID=${PGID} ports: - 8082:8081 restart: unless-stopped volumes: - /mnt/data/media/videos/youtubedl:/downloads - ./appdata/metube:/config monitorr: container_name: monitorr image: monitorr/monitorr:latest environment: - PGID=${PGID} - PUID=${PUID} - TZ=${TZ} ports: - 8084:80/tcp restart: unless-stopped volumes: - /mnt/data:/HD:ro - ./appdata/monitorr/app:/app - ./appdata/monitorr/config:/config - /etc/localtime:/etc/localtime:ro mstream: container_name: mstream image: lscr.io/linuxserver/mstream:latest environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TZ} ports: - 3001:3000 restart: unless-stopped volumes: - ./appdata/mstream:/config - /mnt/storage/music:/music nzbhydra2: container_name: nzbhydra2 image: binhex/arch-nzbhydra2:latest environment: - PGID=${PGID} - PUID=${PUID} - UMASK=${UMASK} ports: - 5076:5076/tcp restart: unless-stopped volumes: - ./appdata/nzbhydra2/data:/data - ./appdata/nzbhydra2:/config - /mnt/data/downloads:/downloads - /etc/localtime:/etc/localtime:ro openssh-server: container_name: openssh-server image: lscr.io/linuxserver/openssh-server:latest environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TZ} - USER_NAME=akanealw ports: - 2222:2222 restart: unless-stopped volumes: - ./appdata/openssh-server/config:/config organizr: container_name: organizr image: organizr/organizr:latest environment: - PGID=${PGID} - PUID=${PUID} - FPM=true ports: - 8085:80/tcp restart: unless-stopped volumes: - ./appdata/organizr/config:/config - /etc/localtime:/etc/localtime:ro overseerr: container_name: overseerr image: sctx/overseerr:latest environment: - LOG_LEVEL=info - TZ=${TZ} ports: - 5055:5055 restart: unless-stopped volumes: - ./appdata/overseerr/config:/app/config - /etc/localtime:/etc/localtime:ro owncloud: container_name: owncloud image: owncloud/server:${OWNCLOUD_VERSION} environment: - OWNCLOUD_DOMAIN=${OWNCLOUD_DOMAIN} - OWNCLOUD_TRUSTED_DOMAINS=${OWNCLOUD_TRUSTED_DOMAINS} - OWNCLOUD_DB_TYPE=mysql - OWNCLOUD_DB_NAME=owncloud - OWNCLOUD_DB_USERNAME=owncloud - OWNCLOUD_DB_PASSWORD=owncloud - OWNCLOUD_DB_HOST=owncloud-mariadb - OWNCLOUD_ADMIN_USERNAME=${ADMIN_USERNAME} - OWNCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD} - OWNCLOUD_MYSQL_UTF8MB4=true - OWNCLOUD_REDIS_ENABLED=true - OWNCLOUD_REDIS_HOST=owncloud-redis healthcheck: test: ["CMD", "/usr/bin/healthcheck"] interval: 30s timeout: 10s retries: 5 depends_on: - owncloud-mariadb - owncloud-redis ports: - 8092:8080 restart: unless-stopped volumes: - ./appdata/owncloud/files:/mnt/data owncloud-mariadb: container_name: owncloud-mariadb image: mariadb:10.6 environment: - MYSQL_ROOT_PASSWORD=owncloud - MYSQL_USER=owncloud - MYSQL_PASSWORD=owncloud - MYSQL_DATABASE=owncloud command: ["--max-allowed-packet=128M", "--innodb-log-file-size=64M"] healthcheck: test: ["CMD", "mysqladmin", "ping", "-u", "root", "--password=owncloud"] interval: 10s timeout: 5s retries: 5 restart: unless-stopped volumes: - ./appdata/owncloud-mariadb/mysql:/var/lib/mysql owncloud-redis: image: redis:6 container_name: owncloud-redis command: ["--databases", "1"] healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 restart: unless-stopped volumes: - ./appdata/owncloud-redis:/data prowlarr: container_name: prowlarr image: ghcr.io/linuxserver/prowlarr:develop environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TZ} ports: - 9696:9696 restart: unless-stopped volumes: - ./appdata/prowlarr/config:/config qbittorrent: container_name: qbittorrent image: lscr.io/linuxserver/qbittorrent:latest environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TZ} - WEBUI_PORT=8282 network_mode: "service:gluetun" restart: unless-stopped volumes: - ./appdata/qbittorrent/config:/config - /mnt/data:/data - /mnt/data/downloads/torrents:/torrents radarr: container_name: radarr image: lscr.io/linuxserver/radarr:latest environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TZ} ports: - 7878:7878 restart: unless-stopped volumes: - ./appdata/radarr:/config - /mnt/data:/data sabnzbd: container_name: sabnzbd image: lscr.io/linuxserver/sabnzbd:latest environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TZ} network_mode: "service:gluetun" restart: unless-stopped volumes: - ./appdata/sabnzbd:/config - /mnt/data:/data - /mnt/data/downloads/nzbs:/nzbs sonarr: container_name: sonarr image: lscr.io/linuxserver/sonarr:latest environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TZ} ports: - 8989:8989 restart: unless-stopped volumes: - ./appdata/sonarr:/config - /mnt/data:/data s-pdf: container_name: spdf image: frooodle/s-pdf ports: - 8086:8080 restart: unless-stopped webnut: container_name: webnut image: teknologist/webnut environment: - UPS_HOST=192.168.1.41 - UPS_PORT=3493 - UPS_USER=upsmon - UPS_PASSWORD=${ADMIN_PASSWORD} security_opt: - no-new-privileges:true ports: - 6543:6543 restart: unless-stopped webtop: container_name: webtop image: lscr.io/linuxserver/webtop:ubuntu-xfce security_opt: - seccomp:unconfined environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TZ} - SUBFOLDER=/ - KEYBOARD=en-us-qwerty - TITLE=Ubuntu shm_size: "1gb" ports: - 3023:3000 restart: unless-stopped volumes: - ./appdata/webtop:/config networks: default: