Files
homeprod/docker/personal/media/youtube/tubearchivist/docker-compose.yml
2025-03-22 14:29:48 +01:00

95 lines
2.3 KiB
YAML

services:
tubearchivist:
container_name: tubearchivist
restart: unless-stopped
image: bbilly1/tubearchivist:v0.4.13
ports:
- "8000"
networks:
- default
- proxy
volumes:
- media:/youtube
- cache:/cache
env_file:
- .env
environment:
- ES_URL=http://archivist-es:9200
- REDIS_HOST=archivist-redis
- HOST_UID=1000
- HOST_GID=1000
- TA_HOST=tubearchivist.local
- TZ=Europe/Paris
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 2m
timeout: 10s
retries: 3
start_period: 30s
depends_on:
- archivist-es
- archivist-redis
labels:
- "traefik.enable=true"
- "traefik.http.routers.tubearchivist.rule=Host(`tubearchivist.local`)"
- "traefik.http.routers.tubearchivist.middlewares=tubearchivist-headers"
- "traefik.http.middlewares.tubearchivist-headers.headers.accesscontrolalloworiginlist=*"
- "traefik.http.middlewares.tubearchivist-headers.headers.accesscontrolallowmethods=GET,OPTIONS,PUT"
- "traefik.http.middlewares.tubearchivist-headers.headers.accesscontrolallowheaders=Authorization,*"
archivist-redis:
image: redis/redis-stack-server
container_name: archivist-redis
restart: unless-stopped
expose:
- "6379"
volumes:
- redis:/data
depends_on:
- archivist-es
archivist-es:
image: bbilly1/tubearchivist-es # only for amd64, or use official es 8.16.0
container_name: archivist-es
restart: unless-stopped
env_file:
- .env
environment:
- "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:
- es:/usr/share/elasticsearch/data
expose:
- "9200"
volumes:
media:
driver_opts:
type: 'nfs'
o: 'addr=truenas.local'
device: ':/mnt/media/youtube'
cache:
redis:
driver: local
driver_opts:
type: 'none'
o: 'bind'
device: '/app/tubearchivist/redis'
es:
driver: local
driver_opts:
type: 'none'
o: 'bind'
device: '/app/tubearchivist/es'
networks:
proxy:
external: true
name: proxy