Private
Public Access
1
0

update dockerfile, css build and alpine images
Some checks failed
Build and Push Madplaner / build (push) Failing after 21s

This commit is contained in:
2025-12-31 00:47:01 +01:00
parent 3809543e88
commit 88a82f887f

View File

@@ -1,21 +1,34 @@
FROM python:3.11-slim # --- STAGE 1: CSS Builder ---
FROM node:18-alpine AS css-builder
WORKDIR /app
COPY package*.json tailwind.config.js ./
COPY ./static/src/input.css ./static/src/input.css
COPY ./templates ./templates
RUN npm install && npx tailwindcss -i ./static/src/input.css -o ./static/dist/css/output.css --minify
# --- STAGE 2: Final App (Python) ---
ENV PYTHONDONTWRITEBYTECODE 1 # --- STAGE 2: Python Builder (Compile dependencies) ---
ENV PYTHONUNBUFFERED 1 FROM python:3.11-alpine AS py-builder
WORKDIR /app
COPY requirements.txt .
# Install into a local folder to copy easily
RUN pip install --prefix=/install --no-cache-dir -r requirements.txt
# --- STAGE 3: Final Minimal Image ---
FROM python:3.11-alpine
WORKDIR /app WORKDIR /app
RUN apt-get update && apt-get install -y --no-install-recommends \ # Copy only the installed python packages from py-builder
build-essential \ COPY --from=py-builder /install /usr/local
&& rm -rf /var/lib/apt/lists/* # Copy only the compiled CSS from css-builder
COPY --from=css-builder /app/static/dist/css/output.css ./static/dist/css/output.css
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy application code
COPY . . COPY . .
EXPOSE 5000 # Clean up any unneeded source files to save space
RUN rm -rf static/src tailwind.config.js package*.json requirements.txt
# Initialize DB, then start Gunicorn # Initialize DB, then start Gunicorn
CMD python -c "from app import app, db; app.app_context().push(); db.create_all()" && \ CMD python -c "from app import app, db; app.app_context().push(); db.create_all()" && \
gunicorn --bind 0.0.0.0:5000 app:app gunicorn --bind 0.0.0.0:5000 app:app