# Multi-arch Dockerfile for GoReleaser (dockers_v2). # Base image :44 is used without arch suffix so the registry can supply the right # platform (manifest list). TARGETPLATFORM is set by BuildKit for COPY. # For custom/local single-arch builds, use Dockerfile.singlearch instead. ARG TARGETPLATFORM FROM registry.fedoraproject.org/fedora-minimal:44 AS olivetin-tmputils 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.title OliveTin RUN mkdir -p /config /config/entities/ /var/www/olivetin \ && \ microdnf install -y --nodocs --noplugins --setopt=keepcache=0 --setopt=install_weak_deps=0 \ iputils \ openssh-clients \ kubernetes-client \ shadow-utils \ apprise \ jq \ git \ && microdnf clean all COPY --from=olivetin-tmputils \ /usr/bin/docker \ /usr/bin/docker COPY --from=olivetin-tmputils \ /usr/libexec/docker/cli-plugins/docker-compose \ /usr/libexec/docker/cli-plugins/docker-compose RUN useradd --system --create-home olivetin -u 1000 EXPOSE 1337/tcp COPY config.yaml /config COPY var/entities/* /config/entities/ COPY examples/backupScript.sh /opt/backupScript.sh RUN chmod 755 /opt/backupScript.sh VOLUME /config ARG TARGETPLATFORM COPY $TARGETPLATFORM/OliveTin /usr/bin/OliveTin COPY webui /var/www/olivetin/ COPY var/helper-actions/* /usr/bin/ USER olivetin ENTRYPOINT [ "/usr/bin/OliveTin" ]