mirror of
https://github.com/Viren070/docker-compose-template.git
synced 2025-12-01 23:17:00 +01:00
51 lines
1.4 KiB
YAML
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 |