mirror of
https://github.com/Paillat-dev/flagger.git
synced 2026-01-02 01:06:21 +00:00
🎉 First commit
This commit is contained in:
51
Dockerfile
Normal file
51
Dockerfile
Normal file
@@ -0,0 +1,51 @@
|
||||
# Copyright (c) NiceBots
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
ARG PYTHON_VERSION=3.13
|
||||
ARG NODE_VERSION=20
|
||||
FROM python:${PYTHON_VERSION}-slim-bookworm AS python-base
|
||||
|
||||
ENV PYTHONDONTWRITEBYTECODE=1
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
|
||||
RUN pip install uv
|
||||
|
||||
WORKDIR /app
|
||||
COPY pyproject.toml uv.lock ./
|
||||
|
||||
ENV UV_NO_DEV=1
|
||||
RUN uv export -o requirements.txt
|
||||
|
||||
FROM node:${NODE_VERSION}-slim AS node-base
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY src/flagwaver/package*.json ./
|
||||
RUN npm ci
|
||||
|
||||
COPY src/flagwaver/ ./
|
||||
|
||||
RUN sed -i 's/ controlled: false,/ controlled: true,/' src/assets/js/app/redux/modules/wind.js
|
||||
RUN npm exec gulp build
|
||||
|
||||
FROM python:${PYTHON_VERSION}-bookworm AS app
|
||||
|
||||
ENV PYTHONDONTWRITEBYTECODE=1
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
||||
RUN adduser -u 6392 --disabled-password --gecos "" appuser && chown -R appuser /app
|
||||
|
||||
COPY --from=python-base --chown=appuser /app/requirements.txt ./
|
||||
COPY LICENSE ./
|
||||
ENV PLAYWRIGHT_BROWSERS_PATH=/app/.local-browsers
|
||||
RUN pip install $(grep '^playwright==' requirements.txt | tr -d '\\') && playwright install chromium --with-deps
|
||||
RUN pip install -r requirements.txt
|
||||
|
||||
COPY --from=node-base --chown=appuser /app/dist/ ./src/static/flagwaver
|
||||
COPY src/ ./src
|
||||
USER appuser
|
||||
|
||||
CMD ["python", "src"]
|
||||
Reference in New Issue
Block a user