Files

79 lines
2.5 KiB
YAML

services:
tubearchivist:
image: bbilly1/tubearchivist:latest
container_name: tubearchivist
ports:
- "${TA_PORT:-8000}:8000"
volumes:
- ${TA_YOUTUBE_PATH:-/mnt/media/youtube}:/youtube
- tubearchivist_cache:/cache
environment:
- ES_URL=http://archivist-es:9200
- REDIS_CON=redis://archivist-redis:6379
- HOST_UID=${HOST_UID:-1000}
- HOST_GID=${HOST_GID:-1000}
- TA_HOST=${TA_HOST}
- TA_USERNAME=${TA_USERNAME}
- TA_PASSWORD=${TA_PASSWORD}
- ELASTIC_PASSWORD=${ELASTIC_PASSWORD}
- TZ=${TZ:-UTC}
# LDAP authentication (Authentik LDAP outpost by default)
- TA_LOGIN_AUTH_MODE=${TA_LOGIN_AUTH_MODE:-ldap_local}
- TA_LDAP_SERVER_URI=${TA_LDAP_SERVER_URI}
- TA_LDAP_DISABLE_CERT_CHECK=${TA_LDAP_DISABLE_CERT_CHECK}
- TA_LDAP_BIND_DN=${TA_LDAP_BIND_DN}
- TA_LDAP_BIND_PASSWORD=${TA_LDAP_BIND_PASSWORD}
- TA_LDAP_USER_BASE=${TA_LDAP_USER_BASE}
- TA_LDAP_USER_FILTER=${TA_LDAP_USER_FILTER:-(objectClass=user)}
- TA_LDAP_USER_ATTR_MAP_USERNAME=${TA_LDAP_USER_ATTR_MAP_USERNAME:-cn}
- TA_LDAP_USER_ATTR_MAP_PERSONALNAME=${TA_LDAP_USER_ATTR_MAP_PERSONALNAME:-givenName}
- TA_LDAP_USER_ATTR_MAP_SURNAME=${TA_LDAP_USER_ATTR_MAP_SURNAME:-sn}
- TA_LDAP_USER_ATTR_MAP_EMAIL=${TA_LDAP_USER_ATTR_MAP_EMAIL:-mail}
- TA_LDAP_PROMOTE_USERNAMES_TO_SUPERUSER=${TA_LDAP_PROMOTE_USERNAMES_TO_SUPERUSER}
- TA_LDAP_PROMOTE_USERNAMES_TO_STAFF=${TA_LDAP_PROMOTE_USERNAMES_TO_STAFF}
restart: unless-stopped
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
archivist-redis:
image: redis:7-alpine
container_name: archivist-redis
expose:
- "6379"
volumes:
- tubearchivist_redis:/data
restart: unless-stopped
depends_on:
- archivist-es
archivist-es:
image: bbilly1/tubearchivist-es:latest
container_name: archivist-es
environment:
- ELASTIC_PASSWORD=${ELASTIC_PASSWORD}
- ES_JAVA_OPTS=${ES_JAVA_OPTS}
- 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
expose:
- "9200"
restart: unless-stopped
volumes:
tubearchivist_cache:
tubearchivist_redis:
tubearchivist_es: