FROM python:3.12 AS builder ENV POETRY_HOME="/opt/poetry" ENV PATH="$POETRY_HOME/bin:$PATH" RUN apt update && \ apt install -y gettext WORKDIR /app RUN curl -sSL https://install.python-poetry.org | python3 - COPY pyproject.toml poetry.lock README.md ./ RUN poetry config virtualenvs.in-project true RUN poetry install --with app --no-root COPY locales ./locales RUN cd locales/ru/LC_MESSAGES && msgfmt messages.po FROM node:24 AS node-builder ENV PATH=/app/node_modules/.bin:$PATH WORKDIR /app COPY static/package.json static/package-lock.json ./ RUN npm ci COPY static ./ RUN npm run build FROM python:3.12-slim ENV PATH="/app/.venv/bin:$PATH" WORKDIR /app ENV TZ="Europe/Moscow" COPY --from=builder /app ./ COPY --from=node-builder /app/dist ./static/dist COPY gallery gallery/ #COPY --from=builder /app/gallery/easel/route/view/locales /app/gallery/easel/route/view/locales COPY --from=builder --parents locales/**/*.mo ./ CMD ["uvicorn", "gallery.main:app", "--host", "0.0.0.0", "--port", "80", "--log-config", "gallery/logging.yaml"]