fix: build web UI before container images

This commit is contained in:
med-logic 2026-08-19 21:05:40 +10:00
parent dc64d53e26
commit b2c73491da
3 changed files with 35 additions and 50 deletions

View File

@ -1,40 +1,32 @@
# Multi-arch Dockerfile for GoReleaser (dockers_v2). # Multi-arch Dockerfile for GoReleaser (dockers_v2).
# Base image :44 is used without arch suffix so the registry can supply the right # TARGETPLATFORM is set by BuildKit for COPY.
# platform (manifest list). TARGETPLATFORM is set by BuildKit for COPY.
# For custom/local single-arch builds, use Dockerfile.singlearch instead. # For custom/local single-arch builds, use Dockerfile.singlearch instead.
ARG TARGETPLATFORM ARG TARGETPLATFORM
FROM registry.fedoraproject.org/fedora-minimal:44 AS olivetin-tmputils FROM debian:13-slim
RUN microdnf -y install dnf-plugins-core && \
dnf-3 config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo && \
microdnf install -y docker-ce-cli docker-compose-plugin && microdnf clean all
FROM registry.fedoraproject.org/fedora-minimal:44
LABEL org.opencontainers.image.source https://github.com/OliveTin/OliveTin LABEL org.opencontainers.image.source https://github.com/OliveTin/OliveTin
LABEL org.opencontainers.image.title OliveTin LABEL org.opencontainers.image.title OliveTin
RUN mkdir -p /config /config/entities/ /var/www/olivetin \ RUN mkdir -p /config /config/entities/ /var/www/olivetin \
&& \ && apt-get update \
microdnf install -y --nodocs --noplugins --setopt=keepcache=0 --setopt=install_weak_deps=0 \ && apt-get install -y --no-install-recommends \
iputils \
openssh-clients \
kubernetes-client \
shadow-utils \
apprise \ apprise \
jq \ ca-certificates \
curl \
git \ git \
&& microdnf clean all iputils-ping \
jq \
COPY --from=olivetin-tmputils \ openssh-client \
/usr/bin/docker \ passwd \
/usr/bin/docker && install -m 0755 -d /etc/apt/keyrings \
&& curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc \
COPY --from=olivetin-tmputils \ && chmod a+r /etc/apt/keyrings/docker.asc \
/usr/libexec/docker/cli-plugins/docker-compose \ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" > /etc/apt/sources.list.d/docker.list \
/usr/libexec/docker/cli-plugins/docker-compose && apt-get update \
&& apt-get install -y --no-install-recommends docker-ce-cli docker-compose-plugin \
&& rm -rf /var/lib/apt/lists/*
RUN useradd --system --create-home olivetin -u 1000 RUN useradd --system --create-home olivetin -u 1000

View File

@ -1,33 +1,26 @@
FROM --platform=linux/amd64 registry.fedoraproject.org/fedora-minimal:44-x86_64 AS olivetin-tmputils FROM --platform=linux/amd64 debian:13-slim
RUN microdnf -y install dnf-plugins-core && \
dnf-3 config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo && \
microdnf install -y docker-ce-cli docker-compose-plugin && microdnf clean all
FROM --platform=linux/amd64 registry.fedoraproject.org/fedora-minimal:44-x86_64
LABEL org.opencontainers.image.source https://github.com/OliveTin/OliveTin LABEL org.opencontainers.image.source https://github.com/OliveTin/OliveTin
LABEL org.opencontainers.image.title OliveTin LABEL org.opencontainers.image.title OliveTin
RUN mkdir -p /config /config/entities/ /var/www/olivetin \ RUN mkdir -p /config /config/entities/ /var/www/olivetin \
&& \ && apt-get update \
microdnf install -y --nodocs --noplugins --setopt=keepcache=0 --setopt=install_weak_deps=0 \ && apt-get install -y --no-install-recommends \
iputils \
openssh-clients \
kubernetes-client \
shadow-utils \
apprise \ apprise \
jq \ ca-certificates \
curl \
git \ git \
&& microdnf clean all iputils-ping \
jq \
COPY --from=olivetin-tmputils \ openssh-client \
/usr/bin/docker \ passwd \
/usr/bin/docker && install -m 0755 -d /etc/apt/keyrings \
&& curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc \
COPY --from=olivetin-tmputils \ && chmod a+r /etc/apt/keyrings/docker.asc \
/usr/libexec/docker/cli-plugins/docker-compose \ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" > /etc/apt/sources.list.d/docker.list \
/usr/libexec/docker/cli-plugins/docker-compose && apt-get update \
&& apt-get install -y --no-install-recommends docker-ce-cli docker-compose-plugin \
&& rm -rf /var/lib/apt/lists/*
RUN useradd --system --create-home olivetin -u 1000 RUN useradd --system --create-home olivetin -u 1000

View File

@ -39,7 +39,7 @@ dist:
echo "dist noop" echo "dist noop"
podman-image: podman-image: webui-dist
buildah bud -f Dockerfile.singlearch -t olivetin buildah bud -f Dockerfile.singlearch -t olivetin
podman-container: podman-container:
@ -48,7 +48,7 @@ podman-container:
podman create --name olivetin -p 1337:1337 -v /etc/OliveTin/:/config:ro olivetin podman create --name olivetin -p 1337:1337 -v /etc/OliveTin/:/config:ro olivetin
podman start olivetin podman start olivetin
integration-tests-docker-image: integration-tests-docker-image: webui-dist
docker rm -f olivetin && docker rmi -f olivetin docker rm -f olivetin && docker rmi -f olivetin
docker build -f Dockerfile.singlearch -t olivetin:latest . docker build -f Dockerfile.singlearch -t olivetin:latest .
docker create --name olivetin -p 1337:1337 -v `pwd`/integration-tests/configs/:/config/ olivetin docker create --name olivetin -p 1337:1337 -v `pwd`/integration-tests/configs/:/config/ olivetin