README / Dockerfile
CJGibs's picture
Harden Space startup entrypoint
b901d2c
raw
history blame contribute delete
793 Bytes
FROM node:20-alpine AS frontend-builder
WORKDIR /workspace
COPY app/frontend/package*.json ./app/frontend/
RUN cd app/frontend && npm ci
COPY app/frontend ./app/frontend
RUN cd app/frontend && npm run build
FROM python:3.11-slim AS runtime
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PORT=7860 \
DEMO_MODE=true
WORKDIR /workspace
RUN adduser --disabled-password --gecos "" --uid 1000 appuser
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY start.sh .
COPY app/backend ./app/backend
COPY app/data ./app/data
COPY app/public ./app/public
COPY --from=frontend-builder /workspace/app/frontend/dist ./app/frontend/dist
RUN chmod +x /workspace/start.sh && chown -R 1000:1000 /workspace
USER 1000
EXPOSE 7860
CMD ["/workspace/start.sh"]