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