Files
docker-home-server/tubearchivist/docker-compose.yml

82 lines
3.1 KiB
YAML

# Youtube alternative, uses kibana + Elasticsearch i think
version: '3.5'
services:
tubearchivist:
container_name: tubearchivist
restart: unless-stopped
image: bbilly1/tubearchivist
ports:
- 8111:8000
volumes:
- /Videos/TubeArchivist:/youtube
- /docker-containers/tubearchivist/cache:/cache
environment:
- ES_URL=http://elasticsearch:9200 # needs protocol e.g. http and port
- REDIS_CON=redis://archivist-redis:6379 # don't add protocol
- HOST_UID=1000
- HOST_GID=1006
- TA_HOST=https://youtube.example.com https://tubearchivist.example.com https://yt.example.com http://192.168.1.239:8111 # set your host name
# - TA_PORT=8111 # to change default port nginx listens
- TA_USERNAME=tubearchivist # your initial TA credentials
- TA_PASSWORD=ChangeMe123 # your initial TA credentials
- ELASTIC_PASSWORD=ChangeMe123!#@ # set password for Elasticsearch
- TZ=America/New_York # set your time zone
- TA_AUTO_UPDATE_YTDLP=nightly
# - TA_ENABLE_AUTH_PROXY=true
# - TA_AUTH_PROXY_USERNAME_HEADER=HTTP_REMOTE_USER
# - TA_AUTH_PROXY_LOGOUT_URL=https://youtube.example.com
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 2m
timeout: 10s
retries: 3
start_period: 30s
depends_on:
# - archivist-es # running independently
- archivist-redis
networks: # Specify network for container
homelab:
aliases:
- yt # adding multiple aliases under certain network
- youtube
- ytdl
# should redis be using elasticsearch? maybe that's why they were together?
archivist-redis:
image: redis
container_name: archivist-redis
restart: unless-stopped
expose:
- "6379"
volumes:
- /docker-containers/tubearchivist/redis:/data
# depends_on:
# - archivist-es
networks: # Specify network for container
- homelab
# Disabled because running independently, just want the dang kibana to work also.
# archivist-es:
# image: bbilly1/tubearchivist-es # only for amd64, or use official es 8.12.0
# container_name: archivist-es
# restart: unless-stopped
# environment:
# - "ELASTIC_PASSWORD=verysecret" # matching Elasticsearch password
# - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
# - "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:
# - "9200"
networks: # I don't know why but you have to specify the network 2x. In service, and in this tag area..
homelab:
external: true # This option causes compose to join the above network instead of making a _default one (supposedly) also forces to join instead of creating one