Paws/Docker/Docker-Compose/TubeArchivist/docker-compose.yml

62 lines
2.2 KiB
YAML

name: tubearchivist-stack
services:
tubearchivist:
container_name: tubearchivist
restart: unless-stopped
image: bbilly1/tubearchivist:v0.5.4
ports:
- ${MAIN_PORT:-8000}:8000
volumes:
- ${MEDIA_PATH:-./Media}:/youtube
- ${CONFIG_PATH:-./Config}/cache:/cache
environment:
- ES_URL=http://archivist-es:9200 # needs protocol e.g. http and port
- REDIS_CON=redis://archivist-valkey:6379 # needs protocol e.g. redis and port
- HOST_UID=${PUID:-1000} # set your host UID and GID, default 1000
- HOST_GID=${PGID:-1000} # set your host UID and GID, default 1000
- TA_HOST=${TA_HOST:-http://tube-arc.lan} # set your host name with protocol and port
- TA_USERNAME=${TA_USERNAME:-tubearchivist} # your initial TA credentials
- TA_PASSWORD=${TA_PASSWORD:-verysecret} # your initial TA credentials
- ELASTIC_PASSWORD=${ES_PASSWORD:-verysecret} # set password for Elasticsearch
- TZ=${TZ:-Europe/Stockholm} # set your time zone
depends_on:
- archivist-es
- archivist-valkey
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 2m
timeout: 10s
retries: 3
start_period: 30s
archivist-valkey:
image: valkey/valkey:alpine
container_name: archivist-valkey
restart: unless-stopped
expose:
- "6379"
volumes:
- ${CONFIG_PATH:-./Config/valkey}:/data
depends_on:
- archivist-es
archivist-es:
image: bbilly1/tubearchivist-es # only for amd64, or use official es 8.17.2
container_name: archivist-es
restart: unless-stopped
environment:
- "ELASTIC_PASSWORD=${ES_PASSWORD:-verysecret}" # matching Elasticsearch password
- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
- "xpack.security.enabled=true"
- "discovery.type=single-node"
- "path.repo=/usr/share/elasticsearch/data/snapshot"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- ${CONFIG_PATH:-./Config}/es:/usr/share/elasticsearch/data # check for permission error when using bind mount, see readme
expose:
- "9200"