From 86429718fa045d9c69b0db7e46630496c86e51b4 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Wed, 8 Jul 2026 16:09:38 +0200 Subject: Add compose service (runs as host user) and .env.example Co-Authored-By: Claude Opus 4.8 --- .env.example | 7 +++++++ Dockerfile | 1 + compose.yaml | 20 ++++++++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 .env.example create mode 100644 compose.yaml diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..af9e26e --- /dev/null +++ b/.env.example @@ -0,0 +1,7 @@ +# Copy to .env (gitignored) and set your real host paths. +IMGGEN_OUT=/path/to/output +IMGGEN_CACHE=/path/to/model-cache +# IMGGEN_PORT=8765 +# IMGGEN_MODEL=sdxl +# IMGGEN_UID=1000 +# IMGGEN_GID=100 diff --git a/Dockerfile b/Dockerfile index 222f7d2..0405557 100644 --- a/Dockerfile +++ b/Dockerfile @@ -46,6 +46,7 @@ RUN python3 -m pip install --break-system-packages \ # --- app --- WORKDIR /app COPY generate.py /app/generate.py +COPY server.py /app/server.py # Model cache lives here; mount a host volume at this path to avoid # re-downloading ~7.5GB of weights on every container start. diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 0000000..c0f7ba1 --- /dev/null +++ b/compose.yaml @@ -0,0 +1,20 @@ +services: + imggen: + build: . + image: imggen:local + user: "${IMGGEN_UID:-1000}:${IMGGEN_GID:-100}" + group_add: + - video # gid for /dev/dri/card* access as non-root + devices: + - /dev/dri + volumes: + - ${IMGGEN_OUT:-./out}:/out + - ${IMGGEN_CACHE:-./models}:/models + environment: + - HF_HOME=/models + - IMGGEN_MODEL=${IMGGEN_MODEL:-sdxl} + - IMGGEN_PORT=${IMGGEN_PORT:-8765} + ports: + - "127.0.0.1:${IMGGEN_PORT:-8765}:8765" + entrypoint: ["python3"] + command: ["server.py"] -- cgit v1.2.3