26 lines
671 B
Docker
26 lines
671 B
Docker
FROM python:3.12-slim AS base
|
|
|
|
ENV PYTHONDONTWRITEBYTECODE=1 \
|
|
PYTHONUNBUFFERED=1
|
|
|
|
WORKDIR /app
|
|
|
|
COPY requirements.txt ./
|
|
RUN pip install --no-cache-dir -r requirements.txt \
|
|
&& groupadd --system app && useradd --system --gid app app
|
|
|
|
FROM base AS api
|
|
|
|
COPY --chown=app:app src/backend ./src/backend
|
|
ENV LMS_DATA_DIR=/data
|
|
USER app
|
|
EXPOSE 8000
|
|
CMD ["uvicorn", "lms_api.main:app", "--app-dir", "src/backend", "--host", "0.0.0.0", "--port", "8000", "--workers", "1"]
|
|
|
|
FROM base AS frontend
|
|
|
|
COPY --chown=app:app src/frontend ./src/frontend
|
|
USER app
|
|
EXPOSE 8080
|
|
CMD ["uvicorn", "lms_web.main:app", "--app-dir", "src/frontend", "--host", "0.0.0.0", "--port", "8080"]
|