84 lines
2.9 KiB
YAML
84 lines
2.9 KiB
YAML
version: "3.7"
|
|
|
|
services:
|
|
tubearchivist:
|
|
container_name: tubearchivist
|
|
restart: unless-stopped
|
|
image: bbilly1/tubearchivist:v0.4.8
|
|
ports:
|
|
- ${APP_PORT}:8000
|
|
dns:
|
|
- ${DNS_IP}
|
|
volumes:
|
|
- ${ROOT_FOLDER_HOST}/media/data/youtube:/youtube
|
|
- ${APP_DATA_DIR}/data/cache:/cache
|
|
environment:
|
|
- ES_URL=http://tubearchivist-es:9200
|
|
- REDIS_HOST=tubearchivist-redis
|
|
- TA_USERNAME=${TA_USER}
|
|
- TA_PASSWORD=${TA_PASSWORD}
|
|
- TA_HOST=${APP_DOMAIN}
|
|
- ELASTIC_PASSWORD=${ELASTIC_PASSWORD}
|
|
depends_on:
|
|
- tubearchivist-es
|
|
- tubearchivist-redis
|
|
networks:
|
|
- tipi_main_network
|
|
labels:
|
|
# Main
|
|
traefik.enable: true
|
|
traefik.http.middlewares.tubearchivist-web-redirect.redirectscheme.scheme: https
|
|
traefik.http.services.tubearchivist.loadbalancer.server.port: 8000
|
|
# Web
|
|
traefik.http.routers.tubearchivist-insecure.rule: Host(`${APP_DOMAIN}`)
|
|
traefik.http.routers.tubearchivist-insecure.entrypoints: web
|
|
traefik.http.routers.tubearchivist-insecure.service: tubearchivist
|
|
traefik.http.routers.tubearchivist-insecure.middlewares: tubearchivist-web-redirect
|
|
# Websecure
|
|
traefik.http.routers.tubearchivist.rule: Host(`${APP_DOMAIN}`)
|
|
traefik.http.routers.tubearchivist.entrypoints: websecure
|
|
traefik.http.routers.tubearchivist.service: tubearchivist
|
|
traefik.http.routers.tubearchivist.tls.certresolver: myresolver
|
|
# Local domain
|
|
traefik.http.routers.tubearchivist-local-insecure.rule: Host(`tubearchivist.${LOCAL_DOMAIN}`)
|
|
traefik.http.routers.tubearchivist-local-insecure.entrypoints: web
|
|
traefik.http.routers.tubearchivist-local-insecure.service: tubearchivist
|
|
traefik.http.routers.tubearchivist-local-insecure.middlewares: tubearchivist-web-redirect
|
|
# Local domain secure
|
|
traefik.http.routers.tubearchivist-local.rule: Host(`tubearchivist.${LOCAL_DOMAIN}`)
|
|
traefik.http.routers.tubearchivist-local.entrypoints: websecure
|
|
traefik.http.routers.tubearchivist-local.service: tubearchivist
|
|
traefik.http.routers.tubearchivist-local.tls: true
|
|
|
|
tubearchivist-redis:
|
|
image: redislabs/rejson:latest
|
|
container_name: tubearchivist-redis
|
|
restart: always
|
|
networks:
|
|
- tipi_main_network
|
|
volumes:
|
|
- ${APP_DATA_DIR}/data/redis-data:/data
|
|
depends_on:
|
|
- tubearchivist-es
|
|
|
|
tubearchivist-es:
|
|
image: elasticsearch:8.14.1
|
|
container_name: tubearchivist-es
|
|
restart: always
|
|
environment:
|
|
- "xpack.security.enabled=true"
|
|
- "ELASTIC_PASSWORD=${ELASTIC_PASSWORD}"
|
|
- "discovery.type=single-node"
|
|
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
|
|
- "path.repo=/usr/share/elasticsearch/data/snapshot"
|
|
networks:
|
|
- tipi_main_network
|
|
ulimits:
|
|
memlock:
|
|
soft: -1
|
|
hard: -1
|
|
volumes:
|
|
- ${APP_DATA_DIR}/data/es:/usr/share/elasticsearch/data
|
|
expose:
|
|
- "9200"
|