Skip to main content

Tube Archivist

version: '3.3'

services:
  tubearchivist:
    container_name: tubearchivist
    restart: unless-stopped
    image: bbilly1/tubearchivist
    ports:
      - 8624:8000   #OG : 8000:8000
    volumes:
      - /srv/path/to/videos:/youtube
      - /srv/path/Files/TubeArchivist/cache:/cache
    environment:
      - ES_URL=http://archivist-es:9200     # needs protocol e.g. http and port
      - REDIS_HOST=archivist-redis          # don't add protocol
      - HOST_UID=998
      - HOST_GID=100
      - TA_HOST=192.168.1.xxx         # set your host name, OG: tubearchivist.local / If reverse proxy, need to put "TA_HOST=192.168.1.xxx sub.domain.ldt"
      - TA_USERNAME=xxxxx           # your initial TA credentials
      - TA_PASSWORD=XXXXXX              # your initial TA credentials
      - ELASTIC_PASSWORD=XXXXXX         # set password for Elasticsearch
      - TZ=Europe/Paris                # set your time zone
    depends_on:
      - archivist-es
      - archivist-redis
  archivist-redis:
    image: redislabs/rejson                 # for arm64 use bbilly1/rejson
    container_name: archivist-redis
    restart: unless-stopped
    expose:
      - "6379"
    volumes:
      - /srv/path/Files/TubeArchivist/redis:/data
    depends_on:
      - archivist-es
  archivist-es:
    image: bbilly1/tubearchivist-es         # only for amd64, or use official es 8.5.1
    container_name: archivist-es
    restart: unless-stopped
    environment:
      - "ELASTIC_PASSWORD=XXXXXX"       # 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:
      - /srv/path/Files/TubeArchivist/es:/usr/share/elasticsearch/data    # check for permission error when using bind mount, see readme
    expose:
      - "9200"

volumes:
  media:
  cache:
  redis:
  es: