mirror of
https://github.com/Viren070/docker-compose-template.git
synced 2025-12-01 23:17:00 +01:00
feat: add plexio
This commit is contained in:
@@ -157,6 +157,7 @@ OMG_TV_STREMIO_ADDON_HOSTNAME=omg-tv-addon.${DOMAIN}
|
|||||||
OVERSEERR_HOSTNAME=overseerr.${DOMAIN}
|
OVERSEERR_HOSTNAME=overseerr.${DOMAIN}
|
||||||
PLAUSIBLE_HOSTNAME=plausible.${DOMAIN}
|
PLAUSIBLE_HOSTNAME=plausible.${DOMAIN}
|
||||||
PLEX_HOSTNAME=plex.${DOMAIN}
|
PLEX_HOSTNAME=plex.${DOMAIN}
|
||||||
|
PLEXIO_HOSTNAME=plexio.${DOMAIN}
|
||||||
PORTAINER_HOSTNAME=portainer.${DOMAIN}
|
PORTAINER_HOSTNAME=portainer.${DOMAIN}
|
||||||
PROWLARR_HOSTNAME=prowlarr.${DOMAIN}
|
PROWLARR_HOSTNAME=prowlarr.${DOMAIN}
|
||||||
QUETRE_HOSTNAME=quetre.${DOMAIN}
|
QUETRE_HOSTNAME=quetre.${DOMAIN}
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ services:
|
|||||||
${EASYNEWS_PLUS_PLUS_HOSTNAME},
|
${EASYNEWS_PLUS_PLUS_HOSTNAME},
|
||||||
${MEDIAFUSION_HOSTNAME},
|
${MEDIAFUSION_HOSTNAME},
|
||||||
${JACKETTIO_HOSTNAME},
|
${JACKETTIO_HOSTNAME},
|
||||||
|
${PLEXIO_HOSTNAME},
|
||||||
${STREMIO_AI_SEARCH_HOSTNAME},
|
${STREMIO_AI_SEARCH_HOSTNAME},
|
||||||
${STREMIO_JACKETT_HOSTNAME},
|
${STREMIO_JACKETT_HOSTNAME},
|
||||||
${STREMIO_LETTERBOXD_HOSTNAME},
|
${STREMIO_LETTERBOXD_HOSTNAME},
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ services:
|
|||||||
${OVERSEERR_HOSTNAME},
|
${OVERSEERR_HOSTNAME},
|
||||||
${PLAUSIBLE_HOSTNAME},
|
${PLAUSIBLE_HOSTNAME},
|
||||||
${PLEX_HOSTNAME},
|
${PLEX_HOSTNAME},
|
||||||
|
${PLEXIO_HOSTNAME},
|
||||||
${PORTAINER_HOSTNAME},
|
${PORTAINER_HOSTNAME},
|
||||||
${PROWLARR_HOSTNAME},
|
${PROWLARR_HOSTNAME},
|
||||||
${QUETRE_HOSTNAME},
|
${QUETRE_HOSTNAME},
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
# If you are using Plexio with a Plex server that you do not own (you will see a "shared" badge next to the server name),
|
||||||
|
# you must provide the PLEX_MATCHING_TOKEN environment variable. This token is an access token from a Plex server you own,
|
||||||
|
# which will be used to query the Plex API and resolve the Plex GUID using IMDB IDs.
|
||||||
|
|
||||||
|
# To find your Plex authentication token, open any media on a Plex server you own.
|
||||||
|
# Look for the XML data for the media and find the X-Plex-Token in the URL. Copy the token from the URL.
|
||||||
|
|
||||||
|
# You can learn more about finding your authentication token in the official Plex article "Finding an authentication token"
|
||||||
|
# https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/
|
||||||
|
# PLEX_MATCHING_TOKEN=your_plex_matching_token_here
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
services:
|
||||||
|
plexio:
|
||||||
|
image: ghcr.io/vanchaxy/plexio
|
||||||
|
container_name: plexio
|
||||||
|
restart: unless-stopped
|
||||||
|
build:
|
||||||
|
context: https://github.com/vanchaxy/plexio.git
|
||||||
|
dockerfile_inline: |
|
||||||
|
FROM node:18.2.0-alpine AS build
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY frontend/package.json .
|
||||||
|
|
||||||
|
RUN npm install
|
||||||
|
|
||||||
|
COPY frontend .
|
||||||
|
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
FROM unit:1.32.1-python3.11
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY pyproject.toml pyproject.toml
|
||||||
|
COPY plexio plexio
|
||||||
|
|
||||||
|
RUN pip install -e . --no-cache-dir
|
||||||
|
|
||||||
|
COPY --from=build /app/dist frontend
|
||||||
|
|
||||||
|
COPY unit-nginx-config.json /docker-entrypoint.d/config.json
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
expose:
|
||||||
|
- 80
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.plexio.rule=Host(`${PLEXIO_HOSTNAME?}`)"
|
||||||
|
- "traefik.http.routers.plexio.entryPoints=websecure"
|
||||||
|
- "traefik.http.routers.plexio.tls.certresolver=letsencrypt"
|
||||||
|
- "traefik.http.services.plexio.loadbalancer.server.port=80"
|
||||||
|
- "traefik.http.routers.plexio.middlewares=authelia@docker"
|
||||||
|
healthcheck:
|
||||||
|
test:
|
||||||
|
[
|
||||||
|
"CMD",
|
||||||
|
"curl",
|
||||||
|
"--fail",
|
||||||
|
"--silent",
|
||||||
|
"--show-error",
|
||||||
|
"--max-time",
|
||||||
|
"10",
|
||||||
|
"http://localhost/manifest.json",
|
||||||
|
]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
|
profiles:
|
||||||
|
- plexio
|
||||||
|
- all
|
||||||
@@ -48,6 +48,7 @@ include:
|
|||||||
- apps/plausible/compose.yaml
|
- apps/plausible/compose.yaml
|
||||||
- apps/plex/compose.yaml
|
- apps/plex/compose.yaml
|
||||||
- apps/plex-trakt-sync/compose.yaml
|
- apps/plex-trakt-sync/compose.yaml
|
||||||
|
- apps/plexio/compose.yaml
|
||||||
- apps/portainer/compose.yaml
|
- apps/portainer/compose.yaml
|
||||||
- apps/prowlarr/compose.yaml
|
- apps/prowlarr/compose.yaml
|
||||||
- apps/quetre/compose.yaml
|
- apps/quetre/compose.yaml
|
||||||
|
|||||||
Reference in New Issue
Block a user