Files
dockerserver/docker-compose.yml

564 lines
14 KiB
YAML

version: '3'
services:
authelia:
container_name: authelia
hostname: authelia
image: authelia/authelia
environment:
- TZ=America/Chicago
ports:
- 9091:9091
restart: always
volumes:
- ./appdata/authelia/config:/config
bitwarden:
container_name: bitwarden
hostname: bitwarden
image: vaultwarden/server:latest
environment:
- TZ=$TZ
- ADMIN_TOKEN=h/oRssGu83I1E1WQGiSchYMAJnM0JcDXmjeI/A3QgMCasn/IK9zZldH5FXim0rSi
- DATABASE_URL=data/db.sqlite3
- DISABLE_ADMIN_TOKEN=false
- DOMAIN=https://bitwarden.akanealw.com
- ENABLE_DB_WAL=true
- INVITATIONS_ALLOWED=false
- SHOW_PASSWORD_HINT=false
- SIGNUPS_ALLOWED=false
- SIGNUPS_VERIFY=false
- SMTP_PORT=587
- SMTP_SSL=true
ports:
- 8089:80/tcp
restart: always
volumes:
- ./appdata/vaultwarden:/data
- /etc/localtime:/etc/localtime:ro
collabora:
container_name: collabora
hostname: collabora
image: collabora/code
environment:
domain: ${NEXTCLOUD_DOMAIN}
username: ${LO_ONLINE_USERNAME}
password: ${LO_ONLINE_PASSWORD}
cap_add:
- MKNOD
ports:
- "9980:9980"
restart: always
volumes:
- ./appdata/collabora/code:/etc/loolwsd
freshrss:
container_name: freshrss
hostname: freshrss
image: freshrss/freshrss:latest
environment:
- PUID=$PUID
- PGID=$PGID
- CRON_MIN=*/20
- TZ=$TZ
depends_on:
- freshrss-db
ports:
- 8088:80/tcp
restart: always
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
hostname: freshrss-db
image: postgres:12-alpine
environment:
- PUID=$PUID
- PGID=$PGID
- POSTGRES_USER=freshrss
- POSTGRES_PASSWORD=freshrss
- POSTGRES_DB=freshrss
restart: always
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=aOlTmJ/KpTi0qZeed3rXNcRPPTIw0InAvf1gMV4EtXo=
- WIREGUARD_ADDRESSES=10.66.182.60/32
- HTTPPROXY=on
- SERVER_CITIES=New York NY
- TZ=$TZ
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
ports:
- 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
- 6881:6881/tcp # qBittorrent
- 6881:6881/udp # qBittorrent
- 58483:58483/tcp # qBittorrent
restart: always
volumes:
- ./appdata/gluetun:/gluetun
jackett:
container_name: jackett
hostname: jackett
image: binhex/arch-jackett:latest
environment:
- PGID=$PGID
- PUID=$PUID
- UMASK=$UMASK
ports:
- 9117:9117/tcp
restart: always
volumes:
- ./appdata/jackett:/config
- ./appdata/jackett/data:/data
- /mnt/data/downloads:/downloads
- /etc/localtime:/etc/localtime:ro
jdownloader2:
container_name: jdownloader2
hostname: 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
ports:
- 3129:3129/tcp
- 5800:5800/tcp
- 5900:5900/tcp
restart: always
volumes:
- ./appdata/jdownloader2:/config
- /mnt/data/downloads/jdownloader:/output
- /etc/localtime:/etc/localtime:ro
kavita:
container_name: kavita
hostname: kavita
image: kizaing/kavita:latest
ports:
- "5002:5000"
restart: always
volumes:
- /mnt/storage/ComicsAndManga:/comicsandmanga
- ./appdata/kavita/config:/kavita/config
kutt:
container_name: kutt
hostname: 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: always
kutt-redis:
container_name: kutt-redis
hostname: kutt-redis
image: redis:6.0-alpine
restart: always
volumes:
- ./appdata/kutt/redis_data:/data
kutt-postgres:
container_name: kutt-postgres
hostname: kutt-postgres
image: postgres:12-alpine
environment:
- POSTGRES_USER=kutt
- POSTGRES_PASSWORD=kutt
- POSTGRES_DB=kutt
restart: always
volumes:
- ./appdata/kutt/postgres_data:/var/lib/postgresql/data
meshcentral:
container_name: meshcentral
hostname: 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: always
volumes:
- ./appdata/meshcentral/data:/opt/meshcentral/meshcentral-data
- ./appdata/meshcentral/user_files:/opt/meshcentral/meshcentral-files
metube:
container_name: metube
hostname: metube
image: alexta69/metube
environment:
- STATE_DIR=/config
- PUID=$PUID
- PGID=$PGID
ports:
- 8082:8081
restart: always
volumes:
- /mnt/data/media/videos/youtubedl:/downloads
- ./appdata/metube:/config
monitorr:
container_name: monitorr
hostname: monitorr
image: monitorr/monitorr:latest
environment:
- PGID=$PGID
- PUID=$PUID
- TZ=$TZ
ports:
- 8084:80/tcp
restart: always
volumes:
- /mnt/data:/HD:ro
- ./appdata/monitorr/app:/app
- ./appdata/monitorr/config:/config
- /etc/localtime:/etc/localtime:ro
mstream:
image: lscr.io/linuxserver/mstream:latest
container_name: mstream
environment:
- PUID=$PUID
- PGID=$PGID
- TZ=$TZ
ports:
- 3001:3000
restart: always
volumes:
- ./appdata/mstream:/config
- /mnt/storage/music:/music
nginxproxymanager:
container_name: nginxproxymanager
hostname: nginxproxymanager
image: jc21/nginx-proxy-manager:latest
environment:
- X_FRAME_OPTIONS=sameorigin
- DB_SQLITE_FILE=/data/database.sqlite
ports:
- 8443:443/tcp
- 8080:80/tcp
- 8081:81/tcp
restart: always
volumes:
- ./appdata/nginxproxymanager/data:/data
- ./appdata/nginxproxymanager/letsencrypt:/etc/letsencrypt
- /etc/localtime:/etc/localtime:ro
nzbhydra2:
container_name: nzbhydra2
hostname: nzbhydra2
image: binhex/arch-nzbhydra2:latest
environment:
- PGID=$PGID
- PUID=$PUID
- UMASK=$UMASK
ports:
- 5076:5076/tcp
restart: always
volumes:
- ./appdata/nzbhydra2/data:/data
- ./appdata/nzbhydra2:/config
- /mnt/data/downloads:/downloads
- /etc/localtime:/etc/localtime:ro
openvpn:
container_name: openvpn
hostname: openvpn
image: kylemanna/openvpn
cap_add:
- NET_ADMIN
ports:
- "1194:1194/tcp"
restart: always
volumes:
- ./appdata/openvpn/conf:/etc/openvpn
openssh-server:
container_name: openssh-server
hostname: openssh-server
image: lscr.io/linuxserver/openssh-server:latest
environment:
- PUID=$PUID
- PGID=$PGID
- TZ=$TZ
- PUBLIC_KEY_FILE=/config/aknlw.com.pub
- USER_NAME=akanealw
ports:
- 2222:2222
restart: always
volumes:
- ./appdata/openssh-server/config:/config
organizr:
container_name: organizr
hostname: organizr
image: organizr/organizr:latest
environment:
- PGID=$PGID
- PUID=$PUID
- FPM=false
ports:
- 8085:80/tcp
restart: always
volumes:
- ./appdata/organizr/config:/config
- /etc/localtime:/etc/localtime:ro
overseerr:
container_name: overseerr
hostname: overseerr
image: sctx/overseerr:latest
environment:
- LOG_LEVEL=info
- TZ=$TZ
ports:
- 5055:5055
restart: always
volumes:
- ./appdata/overseerr/config:/app/config
- /etc/localtime:/etc/localtime:ro
owncloud:
hostname: owncloud
image: owncloud/server:${OWNCLOUD_VERSION}
container_name: owncloud
restart: always
ports:
- 8092:8080
depends_on:
- owncloud-mariadb
- owncloud-redis
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
volumes:
- ./appdata/owncloud/files:/mnt/data
owncloud-mariadb:
hostname: owncloud-mariadb
image: mariadb:10.6
container_name: owncloud-mariadb
restart: always
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
volumes:
- ./appdata/owncloud-mariadb/mysql:/var/lib/mysql
owncloud-redis:
hostname: owncloud-redis
image: redis:6
container_name: owncloud-redis
restart: always
command: ["--databases", "1"]
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
volumes:
- ./appdata/owncloud-redis:/data
prowlarr:
container_name: prowlarr
hostname: prowlarr
image: ghcr.io/linuxserver/prowlarr:develop
environment:
- PUID=$PUID
- PGID=$PGID
- TZ=$TZ
ports:
- 9696:9696
restart: always
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
# qbittorrentvpn:
# container_name: qbittorrentvpn
# hostname: qbittorrentvpn
# image: binhex/arch-qbittorrentvpn:latest
# environment:
# - ENABLE_PRIVOXY=no
# - LAN_NETWORK=192.168.1.0/24
# - NAME_SERVERS=.1.1.1,8.8.8.8,1.0.0.1,8.8.4.4,9.9.9.9
# - PGID=0
# - PUID=0
# - TZ=$TZ
# - VPN_ENABLED=yes
# - VPN_PROV=custom
# - VPN_CLIENT=wireguard
# - WEBUI_PORT=8282
# - UMASK=$UMASK
# privileged: true
# sysctls:
# - net.ipv4.conf.all.src_valid_mark=1
# ports:
# - 58483:58483/tcp
# - 8282:8282/tcp
# restart: always
# volumes:
# - ./appdata/qbittorrentvpn:/config
# - ./appdata/qbittorrentvpn/openvpn:/config/openvpn
# - /mnt/data:/data
# - /mnt/data/downloads/torrents:/torrents
# - /etc/localtime:/etc/localtime:ro
radarr:
container_name: radarr
hostname: radarr
image: lscr.io/linuxserver/radarr:latest
environment:
- PUID=$PUID
- PGID=$PGID
- TZ=$TZ
ports:
- 7878:7878
restart: always
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
# sabnzbdvpn:
# container_name: sabnzbdvpn
# hostname: sabnzbdvpn
# image: binhex/arch-sabnzbdvpn:3.3.0-1-05
# environment:
# - ENABLE_PRIVOXY=no
# - LAN_NETWORK=192.168.1.0/24
# - NAME_SERVERS=1.1.1.1,8.8.8.8,1.0.0.1,8.8.4.4,9.9.9.9
# - PGID=0
# - PUID=0
# - TZ=$TZ
# - VPN_ENABLED=yes
# - VPN_PROV=custom
# - VPN_CLIENT=wireguard
# - UMASK=$UMASK
# privileged: true
# sysctls:
# - net.ipv4.conf.all.src_valid_mark=1
# ports:
# - 8181:8080/tcp
# - 8191:8090/tcp
# restart: always
# volumes:
# - ./appdata/sabnzbdvpn:/config
# - ./appdata/sabnzbdvpn/openvpn:/config/openvpn
# - /mnt/data:/data
# - /mnt/data/downloads/nzbs:/nzbs
# - /etc/localtime:/etc/localtime:ro
sonarr:
container_name: sonarr
hostname: sonarr
image: lscr.io/linuxserver/sonarr:latest
environment:
- PUID=$PUID
- PGID=$PGID
- TZ=$TZ
ports:
- 8989:8989
restart: always
volumes:
- ./appdata/sonarr:/config
- /mnt/data:/data
networks:
default: