301 lines
8 KiB
YAML
Executable file
301 lines
8 KiB
YAML
Executable file
---
|
|
services:
|
|
|
|
foundryvtt:
|
|
image: felddy/foundryvtt:release
|
|
environment:
|
|
- FOUNDRY_USERNAME=${FOUNDRY_USERNAME}
|
|
- FOUNDRY_PASSWORD=${FOUNDRY_PASSWORD}
|
|
- UID=1000
|
|
- GID=1000
|
|
ports:
|
|
- "30000:30000/tcp"
|
|
volumes:
|
|
- /config/foundry-data:/data
|
|
env_file:
|
|
- path: .env
|
|
required: true
|
|
|
|
portainer:
|
|
image: portainer/portainer-ce:latest
|
|
container_name: portainer
|
|
restart: unless-stopped
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
volumes:
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
- /config/portainer-data:/data
|
|
ports:
|
|
- 9000:9000
|
|
|
|
flaresolverr:
|
|
image: ghcr.io/flaresolverr/flaresolverr:latest
|
|
container_name: flaresolverr
|
|
environment:
|
|
- LOG_LEVEL=${LOG_LEVEL:-info}
|
|
- LOG_HTML=${LOG_HTML:-false}
|
|
- CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none}
|
|
- TZ=Europe/Paris
|
|
ports:
|
|
- "${PORT:-8191}:8191"
|
|
restart: unless-stopped
|
|
|
|
prowlarr:
|
|
image: lscr.io/linuxserver/prowlarr:latest
|
|
container_name: prowlarr
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Europe/Paris
|
|
volumes:
|
|
- /config/prowlarr:/config
|
|
ports:
|
|
- 9696:9696
|
|
restart: unless-stopped
|
|
|
|
sonarr:
|
|
image: lscr.io/linuxserver/sonarr:latest
|
|
container_name: sonarr
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Europe/Paris
|
|
volumes:
|
|
- /config/sonarr:/config
|
|
- /media/Seagate/Series:/media/Seagate/Series
|
|
- /media/Seagate/Animes:/media/Seagate/Animes
|
|
- /temp:/temp
|
|
ports:
|
|
- 8989:8989
|
|
restart: unless-stopped
|
|
|
|
radarr:
|
|
image: lscr.io/linuxserver/radarr:latest
|
|
container_name: radarr
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Europe/Paris
|
|
volumes:
|
|
- /config/radarr:/config
|
|
- /media/Seagate/Movies:/media/Seagate/Movies
|
|
- /media/Seagate/temp:/media/Seagate/temp
|
|
- /temp:/temp
|
|
ports:
|
|
- 7878:7878
|
|
restart: unless-stopped
|
|
|
|
gluetun:
|
|
image: qmcgaw/gluetun
|
|
container_name: gluetun
|
|
cap_add:
|
|
- NET_ADMIN
|
|
devices:
|
|
- /dev/net/tun:/dev/net/tun
|
|
env_file:
|
|
- path: .env
|
|
required: true
|
|
environment:
|
|
- VPN_SERVICE_PROVIDER=protonvpn
|
|
- VPN_TYPE=wireguard
|
|
- WIREGUARD_PRIVATE_KEY=${VPNKEY}
|
|
- SERVER_COUNTRIES=Sweden
|
|
- HTTPPROXY=on
|
|
- HTTPPROXY_LOG=on
|
|
ports:
|
|
- 8888:8888
|
|
- 6881:6881
|
|
- 8080:8080
|
|
|
|
qbit:
|
|
image: ghcr.io/linuxserver/qbittorrent
|
|
container_name: qbit
|
|
volumes:
|
|
- /temp:/temp
|
|
- /config/transmission-daemon:/config
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
network_mode: "service:gluetun"
|
|
restart: always
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
restart: true
|
|
|
|
jellyfin:
|
|
image: lscr.io/linuxserver/jellyfin:latest
|
|
container_name: jellyfin
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Europe/Paris
|
|
- JELLYFIN_PublishedServerUrl=192.168.1.55 #optional
|
|
volumes:
|
|
- /config/jellyfin:/config
|
|
- /media/Seagate/Series:/Series
|
|
- /media/Seagate/Animes:/Animes
|
|
- /media/Seagate/Movies:/Movies
|
|
ports:
|
|
- 8096:8096
|
|
- 8920:8920 #optional
|
|
- 7359:7359/udp #optional
|
|
- 1900:1900/udp #optional
|
|
restart: unless-stopped
|
|
|
|
watchtower:
|
|
image: containrrr/watchtower
|
|
container_name: watchtower
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
|
|
immich-server:
|
|
container_name: immich_server
|
|
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
|
|
# extends:
|
|
# file: hwaccel.transcoding.yml
|
|
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
|
|
volumes:
|
|
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
|
|
- ${UPLOAD_LOCATION}:/usr/src/app/upload
|
|
- /etc/localtime:/etc/localtime:ro
|
|
env_file:
|
|
- path: .env
|
|
required: true
|
|
ports:
|
|
- '2283:2283'
|
|
depends_on:
|
|
- redis
|
|
- database
|
|
restart: always
|
|
healthcheck:
|
|
disable: false
|
|
|
|
immich-machine-learning:
|
|
container_name: immich_machine_learning
|
|
# For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag.
|
|
# Example tag: ${IMMICH_VERSION:-release}-cuda
|
|
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
|
|
# extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
|
|
# file: hwaccel.ml.yml
|
|
# service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable
|
|
volumes:
|
|
- model-cache:/cache
|
|
env_file:
|
|
- path: .env
|
|
required: true
|
|
restart: always
|
|
healthcheck:
|
|
disable: false
|
|
|
|
redis:
|
|
container_name: immich_redis
|
|
image: docker.io/valkey/valkey:8-bookworm@sha256:fec42f399876eb6faf9e008570597741c87ff7662a54185593e74b09ce83d177
|
|
healthcheck:
|
|
test: redis-cli ping || exit 1
|
|
restart: always
|
|
|
|
database:
|
|
container_name: immich_postgres
|
|
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0
|
|
env_file:
|
|
- path: .env
|
|
required: true
|
|
environment:
|
|
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
|
POSTGRES_USER: ${DB_USERNAME}
|
|
POSTGRES_DB: ${DB_DATABASE_NAME}
|
|
POSTGRES_INITDB_ARGS: '--data-checksums'
|
|
# Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
|
|
# DB_STORAGE_TYPE: 'HDD'
|
|
volumes:
|
|
# Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
|
|
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
|
|
restart: always
|
|
|
|
Forgejo:
|
|
image: codeberg.org/forgejo/forgejo:11
|
|
container_name: forgejo
|
|
environment:
|
|
- USER_UID=1000
|
|
- USER_GID=1000
|
|
restart: always
|
|
networks:
|
|
- forgejo
|
|
volumes:
|
|
- /config/forgejo:/data
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
ports:
|
|
- '3000:3000'
|
|
- '222:22'
|
|
|
|
nginx-proxy-manager:
|
|
image: jc21/nginx-proxy-manager:latest
|
|
container_name: nginx-proxy-manager
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
- "81:81"
|
|
volumes:
|
|
- /config/nginx/data:/data
|
|
- /config/nginx/letsencrypt:/etc/letsencrypt
|
|
restart: unless-stopped
|
|
|
|
freshrss:
|
|
image: lscr.io/linuxserver/freshrss:latest
|
|
container_name: freshrss
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Etc/UTC
|
|
volumes:
|
|
- /config/freshrss/:/config
|
|
ports:
|
|
- 8082:80
|
|
restart: unless-stopped
|
|
|
|
vikunja:
|
|
image: vikunja/vikunja
|
|
container_name: vikunja
|
|
environment:
|
|
VIKUNJA_SERVICE_JWTSECRET: ${VIKUNJA_SERVICE_JWTSECRET}
|
|
VIKUNJA_SERVICE_PUBLICURL: https://notes.griffix.hopto.org/
|
|
VIKUNJA_DATABASE_PATH: /db/vikunja.db
|
|
env_file:
|
|
- path: .env
|
|
required: true
|
|
ports:
|
|
- 3456:3456
|
|
volumes:
|
|
- /config/vikunja/files:/app/vikunja/files
|
|
- /config/vikunja/db:/db
|
|
restart: unless-stopped
|
|
|
|
glass-keep:
|
|
image: nikunjsingh/glass-keep:latest
|
|
container_name: glass-keep
|
|
restart: unless-stopped
|
|
env_file:
|
|
- path: .env
|
|
required: true
|
|
environment:
|
|
NODE_ENV: production
|
|
API_PORT: "8080"
|
|
JWT_SECRET: ${VIKUNJA_SERVICE_JWTSECRET}
|
|
DB_FILE: /app/data/notes.db
|
|
ADMIN_EMAILS: griffix
|
|
ports:
|
|
- "8380:8080"
|
|
volumes:
|
|
- /config/glass-keep:/app/data
|
|
|
|
networks:
|
|
forgejo:
|
|
external: false
|
|
#default:
|
|
# external: true
|
|
|
|
volumes:
|
|
model-cache:
|