25 lines
764 B
Text
25 lines
764 B
Text
FROM python:3.12-slim
|
|
|
|
# каталог внутри контейнера
|
|
WORKDIR /app/modules/image_storage
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
ca-certificates \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# 1. зависимости через uv
|
|
COPY modules/image_storage/pyproject.toml modules/image_storage/uv.lock ./
|
|
|
|
RUN pip install --no-cache-dir uv \
|
|
&& uv sync --frozen --no-dev
|
|
|
|
# 2. сам код
|
|
COPY modules/image_storage ./
|
|
|
|
# 3. где будем хранить файлы внутри контейнера
|
|
ENV NYANIMEDB_MEDIA_ROOT=/media
|
|
|
|
EXPOSE 8000
|
|
|
|
# 4. поднимаем FastAPI-приложение (app/main.py → app.main:app)
|
|
CMD ["uv", "run", "uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
|