diff --git a/docker/all-in-one.Dockerfile b/docker/all-in-one.Dockerfile index fb3eff2..645f042 100644 --- a/docker/all-in-one.Dockerfile +++ b/docker/all-in-one.Dockerfile @@ -14,7 +14,7 @@ # -t cigarspace:demo . # --- 1. Build the SPA -------------------------------------------------------- -FROM node:20-alpine AS web-builder +FROM node:26-alpine AS web-builder WORKDIR /web COPY web/package.json web/package-lock.json* web/.npmrc* ./ RUN npm install --no-audit --no-fund @@ -22,7 +22,7 @@ COPY web/. ./ RUN npm run build # --- 2. Resolve Python deps + install package ------------------------------- -FROM python:3.12-slim AS py-builder +FROM python:3.14-slim AS py-builder ENV PIP_NO_CACHE_DIR=1 PYTHONDONTWRITEBYTECODE=1 RUN apt-get update && \ apt-get install -y --no-install-recommends build-essential libpq-dev curl && \ @@ -37,7 +37,7 @@ RUN uv sync --no-dev --frozen --no-install-project && \ uv pip install --no-deps -e . # --- 3a. Light runtime — API + worker + web (no embedded data services) ----- -FROM python:3.12-slim AS light +FROM python:3.14-slim AS light ENV PYTHONUNBUFFERED=1 \ PATH="/app/.venv/bin:$PATH" \ APP_ENV=prod \ diff --git a/docker/api.Dockerfile b/docker/api.Dockerfile index 83d81a4..d5d6448 100644 --- a/docker/api.Dockerfile +++ b/docker/api.Dockerfile @@ -3,7 +3,7 @@ # --------------------------------------------------------------------------- # Stage 1 — Builder: install Python deps via uv into a virtualenv # --------------------------------------------------------------------------- -FROM ghcr.io/astral-sh/uv:0.5-python3.12-bookworm-slim AS builder +FROM ghcr.io/astral-sh/uv:0.9-python3.12-bookworm-slim AS builder ENV UV_COMPILE_BYTECODE=1 \ UV_LINK_MODE=copy \ @@ -25,7 +25,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \ # --------------------------------------------------------------------------- # Stage 2 — Runtime: minimal slim image with the virtualenv copied in # --------------------------------------------------------------------------- -FROM python:3.12-slim-bookworm AS runtime +FROM python:3.14-slim-bookworm AS runtime ENV PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 \ diff --git a/docker/web.Dockerfile b/docker/web.Dockerfile index c7b72e2..413e2d1 100644 --- a/docker/web.Dockerfile +++ b/docker/web.Dockerfile @@ -1,5 +1,5 @@ # --- Build stage ----------------------------------------------------------- -FROM node:20-alpine AS build +FROM node:26-alpine AS build WORKDIR /app COPY package.json package-lock.json* .npmrc* ./ @@ -12,7 +12,7 @@ COPY public ./public RUN npm run build # --- Runtime stage --------------------------------------------------------- -FROM nginx:1.27-alpine AS runtime +FROM nginx:1.31-alpine AS runtime COPY --from=build /app/dist /usr/share/nginx/html COPY nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 80