-
Elastic Search in Docker requires the kernel setting of the host machine vm.max_map_count to be set to at least 262144.
# temporarily set the value run: sudo sysctl -w vm.max_map_count=262144
To apply the change permanentlye.g. on Ubuntu Server add:
vm.max_map_count = 262144
to the file/etc/sysctl.conf
. (more info in the docs). -
Elasticsearch has issues with permissions, so when using bind volume, folder has to be writable by the correct user. If you don't care, just run these:
mkdir elasticsearch sudo chmod 777 elasticsearch
---
services:
archivist-es:
image: bbilly1/tubearchivist-es
container_name: tubearchivist-es
restart: unless-stopped
ulimits:
memlock:
soft: -1
hard: -1
environment:
- "ELASTIC_PASSWORD=verysecret"
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- "xpack.security.enabled=true"
- "discovery.type=single-node"
- "path.repo=/usr/share/elasticsearch/data/snapshot"
expose:
- "9200"
volumes:
- ./elasticsearch:/usr/share/elasticsearch/data
archivist-redis:
image: redislabs/rejson # for arm64 use bbilly1/rejson
container_name: tubearchivist-redis
restart: unless-stopped
depends_on:
- archivist-es
expose:
- "6379"
volumes:
- ./redis:/data
tubearchivist:
image: bbilly1/tubearchivist
container_name: tubearchivist
restart: unless-stopped
depends_on:
- archivist-es
- archivist-redis
environment:
- HOST_UID=1000
- HOST_GID=1000
- TZ=Europe/Dublin
- ES_URL=http://archivist-es:9200
- ELASTIC_PASSWORD=verysecret
- REDIS_HOST=archivist-redis
- TA_HOST=192.168.1.123 # server ip, or domain
- TA_USERNAME=admin # initial credentials
- TA_PASSWORD=admin # initial credentials
ports:
- 3123:8000
volumes:
- ./media:/youtube
- ./cache:/cache