Files
docker-compose-template/apps/plexio/compose.yaml
T

51 lines
1.4 KiB
YAML

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