services: tubearchivist: container_name: tubearchivist restart: unless-stopped image: bbilly1/tubearchivist ports: - 2004:8000 volumes: - tubearchivist-media:/youtube - tubearchivist-cache:/cache environment: - ES_URL=http://tubearchivist-es:9200 # needs protocol e.g. http and port - REDIS_HOST=tubearchivist-redis # don't add protocol - HOST_UID=1000 - HOST_GID=1000 - TA_HOST=tsys1 # set your host name - TA_USERNAME=tubearchivist # your initial TA credentials - TA_PASSWORD=verysecret # your initial TA credentials - ELASTIC_PASSWORD=verysecret # set password for Elasticsearch - TZ=America/Chicago # set your time zone healthcheck: test: ["CMD", "curl", "-f", "http://localhost:2004/health"] interval: 2m timeout: 10s retries: 3 start_period: 30s depends_on: - tubearchivist-es - tubearchivist-redis tubearchivist-redis: image: redis/redis-stack-server container_name: tubearchivist-redis restart: unless-stopped expose: - "6379" volumes: - tubearchivist-redis:/data depends_on: - tubearchivist-es tubearchivist-es: image: bbilly1/tubearchivist-es # only for amd64, or use official es 8.14.3 container_name: tubearchivist-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: - tubearchivist-es:/usr/share/elasticsearch/data # check for permission error when using bind mount, see readme expose: - "9200" volumes: tubearchivist-media: tubearchivist-cache: tubearchivist-redis: tubearchivist-es: