Files
docker-compose-template/apps/wests-scripts/plex_requests/compose.yaml
T

46 lines
1.6 KiB
YAML

services:
plex_request:
image: ghcr.io/westsurname/scripts/plex_request:latest
container_name: plex_request_service
volumes:
- ${DOCKER_DATA_DIR}/wests-scripts/shared/tokens.json:/app/shared/tokens.json
- ${DOCKER_DATA_DIR}/wests-scripts/sockets:/app/sockets
env_file:
- ../.env
restart: unless-stopped
depends_on:
plex:
condition: service_healthy
profiles:
- all
- plex_request
# This puts plex behind a custom nginx reverse proxy, which is required for the plex_request script to work.
# It allows it to intercept requests and modify the data to show a request button on all clients.
# You should disable the traefik router for plex in /opt/docker/apps/plex/.env
# by setting the PLEX_TRAEFIK_ENABLE to false. You can also set the PLEX_HOSTNAME to the same as the one you set for the original plex container.
plex_request_nginx:
image: ghcr.io/westsurname/scripts/plex_request_nginx:latest
container_name: plex_request_nginx_service
volumes:
- ${PLEX_SERVER_PATH}:/plex:ro
- ${DOCKER_DATA_DIR}/wests-scripts/sockets:/app/sockets
expose:
- 8000
env_file:
- ../.env
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.plexrequest.rule=Host(`${PLEX_HOSTNAME?}`)"
- "traefik.http.routers.plexrequest.entrypoints=websecure"
- "traefik.http.routers.plexrequest.tls.certresolver=letsencrypt"
- "traefik.http.services.plexrequest.loadbalancer.server.port=8000"
depends_on:
- plex_request
- plex_authentication
profiles:
- all
- plex_request