File size: 1,269 Bytes
5a0c04f e0c9e74 f874348 5a0c04f 10cf872 5a0c04f e0c9e74 5a0c04f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | # Hugging Face Spaces (Docker SDK) — reuses the prebuilt GHCR image and adapts
# it for HF: HF runs containers as UID 1000 and routes to app_port (7860).
# Pinned to a specific digest because HF caches the `:latest` tag and won't
# re-pull a new push. Re-pin on each deploy (or query the latest digest).
FROM ghcr.io/mcanince2/ucus-editor@sha256:4fee9c76c02f07c5b002b5cb35a9768d8d4b982649b431581562de832c93d242
USER root
# Bake the licensed default music into the image (shipped only here, not in the
# public Git repo). /api/brand-music serves it from /app/public → the seed picks
# it as the default track.
COPY brand-music.mp3 /app/public/brand-music.mp3
# HF runs as UID 1000 = the node base image's existing `node` user (/home/node).
# Make the data dir + app writable by it. (Whisper model lives in /opt and is
# already world-readable, so no per-user cache copy is needed.)
RUN mkdir -p /data && chown -R 1000:1000 /data /home/node /app
USER 1000
ENV HOME=/home/node \
NODE_ENV=production \
DATA_DIR=/data \
TRANSCRIBE_PROVIDER=local \
WHISPER_MODEL=small \
HF_HUB_OFFLINE=1 \
PORT=7860
WORKDIR /app
EXPOSE 7860
# Bind 0.0.0.0 so HF's proxy can reach it.
CMD ["sh", "-c", "node_modules/.bin/next start -p ${PORT:-7860} -H 0.0.0.0"]
|