79 lines
2.5 KiB
YAML
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:
|