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