Every container Dockerfile now declares ARG CONTAINER_APP_VERSION=X.Y.Z
as the first ARG, enabling uniform version parsing for the sync check.
Containers that use the version in build commands chain it to a semantic
ARG (e.g., ARG NAVIDROME_VERSION=${CONTAINER_APP_VERSION}).
Version sources:
- cv: 1.0.3 (latest Forgejo generic package release)
- quartz: 1.28.2 (nginx stable, pinned FROM tag)
- devpi: 6.19.1 / 5.0.1 (devpi-server + devpi-web from PyPI)
- nettest: 0.1.0 (internal, no upstream)
- All others: existing versions carried forward
Mark pin-container-versions Mikado card as complete.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
27 lines
631 B
Docker
27 lines
631 B
Docker
ARG CONTAINER_APP_VERSION=6.19.1
|
|
|
|
FROM python:3.12-slim
|
|
|
|
ARG CONTAINER_APP_VERSION
|
|
ARG DEVPI_SERVER_VERSION=${CONTAINER_APP_VERSION}
|
|
ARG DEVPI_WEB_VERSION=5.0.1
|
|
|
|
# Install devpi-server and devpi-web
|
|
RUN pip install --no-cache-dir \
|
|
devpi-server==${DEVPI_SERVER_VERSION} \
|
|
devpi-web==${DEVPI_WEB_VERSION}
|
|
|
|
# Create non-root user
|
|
RUN useradd -r -u 1000 devpi && mkdir -p /devpi && chown devpi:devpi /devpi
|
|
|
|
# Add startup script
|
|
COPY --chown=devpi:devpi start.sh /usr/local/bin/start.sh
|
|
RUN chmod +x /usr/local/bin/start.sh
|
|
|
|
USER devpi
|
|
WORKDIR /devpi
|
|
|
|
# Expose default port
|
|
EXPOSE 3141
|
|
|
|
ENTRYPOINT ["/usr/local/bin/start.sh"]
|