Files
Homelab/docker-compose.yml

847 lines
26 KiB
YAML

services:
# Media Management (Arr Stack)
bazarr:
image: lscr.io/linuxserver/bazarr:latest
container_name: bazarr
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
volumes:
- /docker-local/Arrs/Bazarr/config:/config
- /data/:/data/
ports:
- 6767:6767
networks:
arr_network:
ipv4_address: 172.20.0.6
restart: unless-stopped
flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr:latest
container_name: flaresolverr
environment:
- TZ=${TZ}
ports:
- 8191:8191
networks:
arr_network:
ipv4_address: 172.20.0.8
restart: unless-stopped
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
environment:
- TZ=${TZ}
- PUID=1000
- PGID=1000
- JELLYFIN_PublishedServerUrl=${JELLYFIN_URL}
volumes:
- /docker-local/Arrs/Jellyfin/config:/config
- /docker-local/Arrs/Jellyfin/cache:/cache
- /data:/data
- /dev/dri/:/dev/dri/
ports:
- 8096:8096
group_add:
- "104"
restart: 'unless-stopped'
jellyseerr:
image: fallenbagel/jellyseerr:latest
container_name: jellyseerr
environment:
- LOG_LEVEL=debug
- TZ=${TZ}
volumes:
- ../docker-local/Arrs/Jellyseerr/config:/app/config
- /data/torrents:/downloads
ports:
- 5055:5055
networks:
arr_network:
ipv4_address: 172.20.0.14
restart: unless-stopped
lidarr:
image: ghcr.io/linuxserver-labs/prarr:lidarr-plugins
container_name: lidarr
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
volumes:
- /docker-local/Arrs/Lidarr/config:/config
- /data/torrents/complete/lidarr:/data/downloads/complete/lidarr
- /data/music:/data/music
ports:
- 8686:8686
networks:
arr_network:
ipv4_address: 172.20.0.7
restart: unless-stopped
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
environment:
- TZ=${TZ}
- PUID=1000
- PGID=1000
volumes:
- /docker-local/Arrs/Prowlarr/config:/config
ports:
- 9696:9696
networks:
arr_network:
ipv4_address: 172.20.0.4
restart: unless-stopped
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
- WEBUI_PORT=8080
volumes:
- ./services/qBittorrent/config:/config
- /data/torrents:/data/downloads
ports:
- 7070:8080
- 56881:6881
- 56881:6881/udp
networks:
arr_network:
ipv4_address: 172.20.0.2
restart: unless-stopped
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
environment:
- TZ=${TZ}
- PUID=1000
- PGID=1000
volumes:
- /docker-local/Arrs/Radarr/config:/config
- /data/:/data/
- /data/torrents/complete/radarr:/data/downloads/complete/radarr
ports:
- 7878:7878
networks:
arr_network:
ipv4_address: 172.20.0.5
restart: unless-stopped
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- TZ=${TZ}
- PUID=1000
- PGID=1000
volumes:
- /docker-local/Arrs/Sonarr/config:/config
- /data:/data
- /data/torrents/complete/sonarr:/data/downloads/complete/sonarr
ports:
- 8989:8989
networks:
arr_network:
ipv4_address: 172.20.0.3
restart: unless-stopped
# Music & Scrobbling
beets:
image: lscr.io/linuxserver/beets:latest
container_name: beets
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
volumes:
- /docker-local/beets/config:/config
- /data/music:/music
- /data/downloads:/downloads
ports:
- 8337:8337
restart: unless-stopped
maloja:
image: "krateng/maloja:latest"
container_name: maloja
environment:
- MALOJA_FORCE_PASSWORD=${MALOJA_FORCE_PASSWORD}
volumes:
- "./services/maloja/config:/etc/maloja"
- "./services/maloja/data:/var/lib/maloja"
- "./services/maloja/logs:/var/log/maloja"
ports:
- "42010:42010"
restart: unless-stopped
multi-scrobbler:
image: foxxmd/multi-scrobbler
container_name: multi-scrobbler
environment:
- TZ=${TZ}
- PUID=1000
- PGID=1000
- BASE_URL=${SCROBBLE_URL}
# - SPOTIFY_CLIENT_ID=${SPOTIFY_CLIENT_ID}
# - SPOTIFY_CLIENT_SECRET=${SPOTIFY_CLIENT_SECRET}
# - SPOTIFY_REDIRECT_URI=${SPOTIFY_REDIRECT_URI}
- YTM_COOKIE=${YTM_COOKIE}
# - YTM_REDIRECT_URI=${YTM_REDIRECT_URI}
# - YTM_CLIENT_ID=${YTM_CLIENT_ID}
# - YTM_CLIENT_SECRET=${YTM_CLIENT_SECRET}
- JELLYFIN_URL=${JELLYFIN_URL}
- JELLYFIN_APIKEY=${JELLYFIN_APIKEY}
- JELLYFIN_USER=${JELLYFIN_USER}
- LZ_TOKEN=${LZ_TOKEN}
- LZ_USER=${LZ_USER}
- MALOJA_URL=${MALOJA_URL}
- MALOJA_API_KEY=${MALOJA_API_KEY}
volumes:
- "./services/scrobble/config:/config"
ports:
- "9078:9078"
restart: unless-stopped
lidarr-importer-api:
image: gitea.kansaigaijin.com/kansaigaijin/majola-lidarr-importer:latest
container_name: maloja-lidarr-importer-api
volumes:
- ./services/maloja_lidarr_api/logs:/app/logs
ports:
- "5110:5000"
environment:
- SOURCE_API_URL=${SOURCE_API_URL}
- SOURCE_API_KEY=${SOURCE_API_KEY}
restart: "unless-stopped"
pinchflat:
image: ghcr.io/kieraneglin/pinchflat:latest
container_name: pinchflat
environment:
- TZ=${TZ}
ports:
- '8945:8945'
volumes:
- /docker-local/pinchflat/config:/config
- /data/torrents/:/downloads
slskd:
image: slskd/slskd
container_name: slskd
hostname: slskd
# user: 1000:1000
environment:
- TZ=${TZ}
- SLSKD_REMOTE_CONFIGURATION=true
- SLSKD_USERNAME=${SLSKD_USERNAME}
- SLSKD_PASSWORD=${SLSKD_PASSWORD}
ports:
- 5030:5030
- 5031:5031
- 50300:50300
volumes:
- /docker-local/slskd:/app
- /data:/data
- /data/torrents/slskd_downloads:/downloads
- /data/torrents/incomplete:/incomplete
restart: unless-stopped
soularr:
image: mrusse08/soularr:latest
container_name: soularr
hostname: soularr
user: 1000:1000
environment:
- TZ=${TZ}
- SCRIPT_INTERVAL=300
volumes:
- /data/torrents/slskd_downloads:/downloads
- ./services/soularr:/data
restart: unless-stopped
# Document Management
broker:
image: docker.io/library/redis:8
container_name: Paperless-broker
volumes:
- redisdata:/data
restart: unless-stopped
db:
image: docker.io/library/mariadb:11
container_name: Paperless-db
environment:
MARIADB_HOST: paperless
MARIADB_DATABASE: paperless
MARIADB_USER: paperless
MARIADB_PASSWORD: paperless
MARIADB_ROOT_PASSWORD: paperless
volumes:
- dbdata:/var/lib/mysql
healthcheck:
test: ["CMD", "mariadb-admin", "ping", "-h", "localhost", "-u", "root", "-p$$MARIADB_ROOT_PASSWORD"]
interval: 10s
timeout: 5s
retries: 10
start_period: 30s
restart: unless-stopped
gotenberg:
image: docker.io/gotenberg/gotenberg:8.20
container_name: Paperless-gotenberg
command:
- "gotenberg"
- "--chromium-disable-javascript=true"
- "--chromium-allow-list=file:///tmp/.*"
restart: unless-stopped
onlyoffice:
image: onlyoffice/documentserver:latest
container_name: onlyoffice
volumes:
- onlyoffice:/app/data
ports:
- "8054:80"
restart: unless-stopped
paperless-ai:
image: clusterzx/paperless-ai
container_name: Paperless-ai
environment:
- PUID=1000
- PGID=1000
- RAG_SERVICE_URL=http://localhost:8000
- RAG_SERVICE_ENABLED=true
volumes:
- aidata:/app/data
ports:
- "3040:3000"
depends_on:
- webserver
cap_drop:
- ALL
security_opt:
- no-new-privileges=true
restart: unless-stopped
stirling-pdf:
image: docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest
container_name: Stirling-PDF
environment:
DISABLE_ADDITIONAL_FEATURES: "true"
SECURITY_ENABLELOGIN: "false"
LANGS: "en_GB,en_US,ar_AR,de_DE,fr_FR,es_ES,zh_CN,zh_TW,ca_CA,it_IT,sv_SE,pl_PL,ro_RO,ko_KR,pt_BR,ru_RU,el_GR,hi_IN,hu_HU,tr_TR,id_ID"
SYSTEM_DEFAULTLOCALE: en-US
UI_APPNAME: Stirling-PDF
UI_HOMEDESCRIPTION: Stirling-PDF
UI_APPNAMENAVBAR: Stirling-PDF
SYSTEM_MAXFILESIZE: "100"
METRICS_ENABLED: "true"
SYSTEM_GOOGLEVISIBILITY: "true"
SHOW_SURVEY: "true"
volumes:
- ./services/stirling/latest/data:/usr/share/tessdata:rw
- ./services/stirling/latest/config:/configs:rw
- ./services/stirling/latest/logs:/logs:rw
ports:
- "8090:8080"
deploy:
resources:
limits:
memory: 4G
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:8080/api/v1/info/status | grep -q 'UP' && curl -fL http://localhost:8080/ | grep -qv 'Please sign in'"]
interval: 5s
timeout: 10s
retries: 16
restart: unless-stopped
tika:
image: docker.io/apache/tika:latest
container_name: Paperless-tika
restart: unless-stopped
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
container_name: Paperless-webserver
environment:
PAPERLESS_SECRET_KEY: ${PAPERLESS_SECRET_KEY}
PAPERLESS_OCR_LANGUAGE: eng
PAPERLESS_TIME_ZONE: Pacific/Auckland
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBENGINE: mariadb
PAPERLESS_DBHOST: db
PAPERLESS_DBUSER: paperless
PAPERLESS_DBPASS: paperless
PAPERLESS_DBPORT: 3306
PAPERLESS_URL: ${PAPERLESS_URL}
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
volumes:
- ./services/paperless/data:/usr/src/paperless/data
- ./services/paperless/media:/usr/src/paperless/media
- ./services/paperless/export:/usr/src/paperless/export
- ./services/paperless/consume:/usr/src/paperless/consume
ports:
- "8100:8000"
depends_on:
db:
condition: service_healthy
broker:
condition: service_started
gotenberg:
condition: service_started
tika:
condition: service_started
restart: unless-stopped
# Personal Applications
adventurelogdb:
image: postgis/postgis:15-3.3
container_name: adventurelog-db
environment:
POSTGRES_DB: database
POSTGRES_USER: adventure
POSTGRES_PASSWORD: ${ADVENTURELOG_DB_PASSWORD}
volumes:
- adventurelog_postgres_data:/var/lib/postgresql/data/
restart: unless-stopped
adventurelogserver:
image: ghcr.io/seanmorley15/adventurelog-backend:latest
container_name: adventurelog-backend
environment:
- PGHOST=adventurelogdb
- PGDATABASE=database
- PGUSER=adventure
- PGPASSWORD=${ADVENTURELOG_DB_PASSWORD}
- SECRET_KEY=${ADVENTURELOG_DB_SECRETKEY}
- DJANGO_ADMIN_USERNAME=${ADVENTURELOG_DJANGO_USERNAME}
- DJANGO_ADMIN_PASSWORD=${ADVENTURELOG_DJANGO_PASSWORD}
- DJANGO_ADMIN_EMAIL=${ADVENTURELOG_DJANGO_EMAIL}
- PUBLIC_URL=${ADVENTURELOG_URL_BACKEND}
- CSRF_TRUSTED_ORIGINS=${ADVENTURELOG_TRUSTED_ORIGINS}
- DEBUG=False
- FRONTEND_URL=${ADVENTURELOG_URL}
volumes:
- adventurelog_adventurelog_media:/code/media/
ports:
- "8016:80"
depends_on:
- adventurelogdb
restart: unless-stopped
adventurelogweb:
image: ghcr.io/seanmorley15/adventurelog-frontend:latest
container_name: adventurelog-frontend
environment:
- PUBLIC_SERVER_URL=http://adventurelogserver:8000
- ORIGIN=${ADVENTURELOG_URL}
- BODY_SIZE_LIMIT=Infinity
ports:
- "8015:3000"
depends_on:
- adventurelogserver
restart: unless-stopped
grampsweb: &grampsweb
image: ghcr.io/gramps-project/grampsweb:latest
container_name: Gramps
environment:
GRAMPSWEB_TREE: "Gramps Web"
GRAMPSWEB_CELERY_CONFIG__broker_url: "redis://grampsweb_redis:6379/0"
GRAMPSWEB_CELERY_CONFIG__result_backend: "redis://grampsweb_redis:6379/0"
GRAMPSWEB_RATELIMIT_STORAGE_URI: redis://grampsweb_redis:6379/1
volumes:
- /docker-local/gramps/gramps_users:/app/users
- /docker-local/gramps/gramps_index:/app/indexdir
- /docker-local/gramps/gramps_thumb_cache:/app/thumbnail_cache
- /docker-local/gramps/gramps_cache:/app/cache
- /docker-local/gramps/gramps_secret:/app/secret
- /docker-local/gramps/gramps_db:/root/.gramps/grampsdb
- /docker-local/gramps/gramps_media:/app/media
- /docker-local/gramps/gramps_tmp:/tmp
ports:
- "5511:5000"
depends_on:
- grampsweb_redis
restart: always
grampsweb_celery:
<<: *grampsweb
container_name: grampsweb_celery
command: celery -A gramps_webapi.celery worker --loglevel=INFO --concurrency=2
ports: []
depends_on:
- grampsweb_redis
grampsweb_redis:
image: docker.io/library/redis:7.2.4-alpine
container_name: grampsweb_redis
restart: always
kitchenowl-front:
container_name: kitchenowl-frontend
image: tombursch/kitchenowl-web:latest
environment:
- BACK_URL=kitchenowl-backend:5000
ports:
- "8081:80"
depends_on:
- kitchenowl-back
restart: unless-stopped
kitchenowl-back:
container_name: kitchenowl-backend
image: tombursch/kitchenowl-backend:latest
environment:
- JWT_SECRET_KEY=${KO_JWT_SECRET_KEY}
- FRONT_URL=${KITCHENOWL_FRONT_URL}
volumes:
- /docker-local/kitchenowl_data:/data
restart: unless-stopped
litellm:
image: litellm:local # use your local amd64 build
container_name: litellm
restart: unless-stopped
ports:
- "4000:4000"
volumes:
- ./services/litellm/litellm-config.yaml:/app/config.yaml
- ./services/litellm/litellm-logs:/app/logs
environment:
- LITELLM_CONFIG=/app/config.yaml
- GROQ_API_KEY=${GROQ_API_KEY}
- DATABASE_URL=postgresql://litellm:litellm_pass@litellm-postgres:5432/litellm_db
- LITELLM_MASTER_KEY=${LITELLM_MASTER_KEY}
- LITELLM_SALT_KEY=${LITELLM_SALT_KEY}
- STORE_MODEL_IN_DB=True
litellm-postgres:
image: postgres:15
container_name: litellm-postgres
restart: unless-stopped
environment:
POSTGRES_USER: litellm
POSTGRES_PASSWORD: litellm_pass
POSTGRES_DB: litellm_db
volumes:
- /docker-local/litellm/postgres-data:/var/lib/postgresql/data
obsidian:
image: 'ghcr.io/sytone/obsidian-remote:latest'
container_name: obsidian-remote
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
- DOCKER_MODS=linuxserver/mods:universal-git
volumes:
- /docker-local/obsidian/vaults:/vaults
- /docker-local/obsidian/config:/config
ports:
- 8181:8080
- 8443:8443
restart: unless-stopped
redbot:
container_name: redbot
image: phasecorex/red-discordbot
volumes:
- /docker-local/redbot:/data
environment:
- TOKEN=${REDBOT_TOKEN}
- PREFIX=!
- TZ=${TZ}
- PUID=1000
restart: unless-stopped
syncthing:
image: syncthing/syncthing
container_name: syncthing
hostname: syncthing
environment:
- PUID=1000
- PGID=1000
volumes:
- /docker-local/syncthing:/var/syncthing
- /docker-local/obsidian/vaults:/var/syncthing/obsidian
ports:
- 8384:8384 # Web UI
- 22000:22000/tcp # TCP file transfers
- 22000:22000/udp # QUIC file transfers
- 21027:21027/udp # Receive local discovery broadcasts
restart: unless-stopped
# System Utilities
bytestash:
image: "ghcr.io/jordan-dalby/bytestash:latest"
container_name: bytestash
restart: always
volumes:
- /docker-local/bytestash/snippets:/data/snippets
ports:
- "5661:5000"
environment:
BASE_PATH: ""
JWT_SECRET: ${BYTE_JWT_SECRET}
TOKEN_EXPIRY: 24h
ALLOW_NEW_ACCOUNTS: "false"
DEBUG: "true"
DISABLE_ACCOUNTS: "false"
DISABLE_INTERNAL_ACCOUNTS: "false"
dockerproxy:
image: ghcr.io/tecnativa/docker-socket-proxy:latest
container_name: dockerproxy
environment:
- CONTAINERS=1 # Allow access to viewing containers
- SERVICES=1 # Allow access to viewing services (necessary when using Docker Swarm)
- TASKS=1 # Allow access to viewing tasks (necessary when using Docker Swarm)
- POST=0 # Disallow any POST operations (effectively read-only)
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro # Mounted as read-only
ports:
- 127.0.0.1:2375:2375
restart: unless-stopped
filebrowser:
image: hurlenko/filebrowser
container_name: filebrowser
user: "root:root"
environment:
- FB_BASEURL=/filebrowser
volumes:
- ./services/filebrowser/data:/data
- ./services/filebrowser/config:/config
- /home/jamie:/data/home
- /data:/data/media
- /docker:/docker
- /docker-local:/docker-local
ports:
- 6633:8080
restart: unless-stopped
foundry:
build: ./services/foundry-login
container_name: foundry-login
environment:
- SSH_HOST=${FOUNDRY_SSH_HOST}
- SSH_PORT=${FOUNDRY_SSH_PORT}
- SSH_USER=${FOUNDRY_SSH_USER}
- SSH_PASSWORD=${FOUNDRY_SSH_PASSWORD}
# - SSH_KEY_PATH=${FOUNDRY_SSH_KEY_PATH}
- FOUNDRY_LOG_PATH=${FOUNDRY_LOG_PATH}
- SLEEP_SECONDS=30
- FOUNDRY_URL=${FOUNDRY_URL}
- FOUNDRY_API_TOKEN=${FOUNDRY_API}
- LOG_FILES_TO_CHECK=1
ports:
- "5234:5000"
command: ["sh", "/app/entrypoint.sh"]
restart: unless-stopped
glances:
image: nicolargo/glances:ubuntu-latest-full
container_name: Glances
pid: host
network_mode: host
environment:
- "GLANCES_OPT=-w"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /run/user/1000/podman/podman.sock:/run/user/1000/podman/podman.sock
- /docker:/docker:ro
- /docker-local:/docker-local:ro
- /data:/data:ro
# For intel iGPUs
devices:
- /dev/dri:/dev/dri
restart: unless-stopped
hbbr:
image: rustdesk/rustdesk-server:latest
container_name: hbbr
command: hbbr
environment:
- PUID=1000
- PGID=1000
volumes:
- /docker-local/rustdesk/data:/root
network_mode: "host"
restart: unless-stopped
hbbs:
image: rustdesk/rustdesk-server:latest
container_name: hbbs
command: hbbs
environment:
- PUID=1000
- PGID=1000
volumes:
- /docker-local/rustdesk/data:/root
network_mode: "host"
depends_on:
- hbbr
restart: unless-stopped
homepage:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
- HOMEPAGE_ALLOWED_HOSTS=${HOMEPAGE_ALLOWED_HOSTS}
volumes:
- ./services/Homepage/config/images:/app/public/images
- ./services/Homepage/config/icons:/app/public/icons
- ./services/Homepage/config:/app/config
ports:
- 7575:3000
restart: unless-stopped
iperf:
image: networkstatic/iperf3
container_name: iperf3-server
stdin_open: true # docker run -i
tty: true # docker run -t
command: -s
ports:
- '5201:5201'
restart: unless-stopped
newt:
image: fosrl/newt
container_name: newt
environment:
- PANGOLIN_ENDPOINT=https://png.kansaigaijin.com
- NEWT_ID=${NEWT_ID}
- NEWT_SECRET=${NEWT_SECRET}
restart: unless-stopped
racknerd-api-converter:
build: ./services/racknerd-converter
container_name: RacknerdConverter
environment:
- RACKNERD_API_KEY=${RACKNERD_API_KEY}
- RACKNERD_API_HASH=${RACKNERD_API_HASH}
- RACKNERD_VSERVER_ID=${RACKNERD_VSERVER_ID}
- RACKNERD_BASE_URL=https://nerdvm.racknerd.com/api/client/command.php
- UPDATE_INTERVAL=1800
- HOST=0.0.0.0
- PORT=5000
ports:
- "5000:5000"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:5000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
restart: unless-stopped
speedtest-db:
image: mariadb:11
container_name: speedtest-db
environment:
- MYSQL_DATABASE=speedtest_tracker
- MYSQL_USER=speedtest_tracker
- MYSQL_PASSWORD=speedtest
- MYSQL_RANDOM_ROOT_PASSWORD=true
volumes:
- /docker-local/speedtest-tracker/db:/var/lib/mysql
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 5s
retries: 3
timeout: 5s
restart: always
speedtest-tracker:
image: lscr.io/linuxserver/speedtest-tracker:latest
container_name: speedtest-tracker
environment:
- PUID=1000
- PGID=1000
- APP_KEY=${SPEEDTEST_APP_KEY}
- DB_CONNECTION=mariadb
- DB_HOST=speedtest-db
- DB_PORT=3306
- DB_DATABASE=speedtest_tracker
- DB_USERNAME=speedtest_tracker
- DB_PASSWORD=speedtest
- APP_DEBUG=true
- SPEEDTEST_SCHEDULE=30 * * * *
- SPEEDTEST_SERVERS=7317
- PUBLIC_DASHBOARD=true
volumes:
- /docker-local/speedtest-tracker/data:/config
ports:
- 8180:80
- 8143:443
depends_on:
speedtest-db:
condition: service_healthy
restart: unless-stopped
watchtower:
image: containrrr/watchtower
container_name: watchtower
environment:
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_POLL_INTERVAL=86400
volumes:
- /var/run/docker.sock:/var/run/docker.sock
whisper:
image: linuxserver/faster-whisper:latest
container_name: faster-whisper
environment:
- PUID=1000
- PGID=1000
- TZ=${TZ}
- WHISPER_MODEL=tiny-int8
- WHISPER_BEAM=1 #optional
- WHISPER_LANG=en #optional
volumes:
- ./services/whisper:/config
ports:
- 10300:10300
restart: unless-stopped
networks:
arr_network:
ipv4_address: 172.20.0.15
networks:
arr_network:
driver: bridge
ipam:
config:
- subnet: 172.20.0.0/16
database_network:
driver: bridge
ipam:
config:
- subnet: 172.21.0.0/16
volumes:
aidata:
dbdata:
redisdata:
adventurelog_postgres_data:
external: true
adventurelog_adventurelog_media:
external: true
onlyoffice: