[feat] add docker
This commit is contained in:
parent
67bdc287e9
commit
0829ad6c12
2 changed files with 67 additions and 0 deletions
35
Dockerfile
Normal file
35
Dockerfile
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
FROM python:3.13-slim AS build
|
||||
|
||||
ENV UV_LINK_MODE=copy
|
||||
WORKDIR /app
|
||||
|
||||
RUN python -m pip install --no-cache-dir uv
|
||||
|
||||
COPY pyproject.toml uv.lock ./
|
||||
RUN uv sync --locked --no-dev --no-install-project
|
||||
|
||||
|
||||
FROM python:3.13-slim AS run
|
||||
|
||||
ENV PATH="/app/.venv/bin:${PATH}" \
|
||||
PYTHONDONTWRITEBYTECODE=1 \
|
||||
PYTHONUNBUFFERED=1 \
|
||||
VIRTUAL_ENV=/app/.venv
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
RUN useradd --system --create-home --shell /usr/sbin/nologin appuser
|
||||
|
||||
COPY --from=build --chown=appuser:appuser /app/.venv /app/.venv
|
||||
COPY --chown=appuser:appuser adapter /app/adapter
|
||||
COPY --chown=appuser:appuser config /app/config
|
||||
COPY --chown=appuser:appuser domain /app/domain
|
||||
COPY --chown=appuser:appuser repository /app/repository
|
||||
COPY --chown=appuser:appuser usecase /app/usecase
|
||||
COPY --chown=appuser:appuser main.py /app/main.py
|
||||
|
||||
USER appuser
|
||||
|
||||
EXPOSE 8123
|
||||
|
||||
CMD ["python", "main.py"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue