tubearchivist/docker-compose.yml

73 lines
2.3 KiB
YAML

services:
tubearchivist:
container_name: tubearchivist
restart: unless-stopped
image: bbilly1/tubearchivist
ports:
- 8000:8000
volumes:
- media:/youtube
- cache:/cache
environment:
- ES_URL=http://archivist-es:9200 # needs protocol e.g. http and port
- REDIS_CON=redis://archivist-redis:6379
- HOST_UID=1000
- HOST_GID=1000
- TA_HOST=http://tubearchivist.local:8000 # set your host name with protocol and port
- TA_USERNAME=tubearchivist # your initial TA credentials
- TA_PASSWORD=verysecret # your initial TA credentials
- ELASTIC_PASSWORD=verysecret # set password for Elasticsearch
- TZ=America/New_York # set your time zone
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/api/health/"]
interval: 2m
timeout: 10s
retries: 3
start_period: 30s
depends_on:
- archivist-es
- archivist-redis
networks:
- tube_archivist_backend
archivist-redis:
image: redis
container_name: archivist-redis
restart: unless-stopped
# expose: #uncomment this & below line to expose the redis database directly to the network instead of using a docker network
# - "6379"
volumes:
- redis:/data
depends_on:
- archivist-es
networks:
- tube_archivist_backend
archivist-es:
image: bbilly1/tubearchivist-es # only for amd64, or use official es 8.18.2
container_name: archivist-es
restart: unless-stopped
environment:
- "ELASTIC_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:
- es:/usr/share/elasticsearch/data # check for permission error when using bind mount, see readme
# expose: #uncomment this & below line to expose archiveist-es directly to the network instead of using a docker network
# - "9200"
networks:
- tube_archivist_backend
volumes:
media:
cache:
redis:
es:
networks:
tube_archivist_backend:
name: tube_archivist_backend