mirror of
https://github.com/vhaudiquet/homeprod.git
synced 2025-12-18 12:06:05 +00:00
95 lines
2.3 KiB
YAML
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
|