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: