From 5b4f51f698b28c0e3fbdc84211e11aa224bc69e1 Mon Sep 17 00:00:00 2001 From: jamesread Date: Thu, 18 Nov 2021 12:20:08 +0000 Subject: [PATCH] Possible solution for multiarch container images --- .goreleaser.yml | 10 +++++----- Dockerfile | 7 ++++--- Dockerfile.arm64 | 23 +++++++++++++++++++++++ Dockerfile.armv7 | 23 +++++++++++++++++++++++ 4 files changed, 55 insertions(+), 8 deletions(-) create mode 100644 Dockerfile.arm64 create mode 100644 Dockerfile.armv7 diff --git a/.goreleaser.yml b/.goreleaser.yml index 3da1587..cf7f70a 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -75,7 +75,7 @@ dockers: goos: linux goarch: amd64 skip_push: false - use: docker + build_flag_templates: - "--platform=linux/amd64" - "--label=org.opencontainers.image.title={{.ProjectName}}" @@ -87,11 +87,11 @@ dockers: - image_templates: - "docker.io/jamesread/olivetin:{{ .Tag }}-arm64" - dockerfile: Dockerfile + dockerfile: Dockerfile.arm64 goos: linux goarch: arm64 skip_push: false - use: docker + build_flag_templates: - "--platform=linux/arm64" - "--label=org.opencontainers.image.title={{.ProjectName}}" @@ -104,12 +104,12 @@ dockers: # support rpi 1's, but it seems most container images start with v7. - image_templates: - "docker.io/jamesread/olivetin:{{ .Tag }}-armv7" - dockerfile: Dockerfile + dockerfile: Dockerfile.armv7 goos: linux goarm: 7 goarch: arm skip_push: false - use: docker + build_flag_templates: - "--platform=linux/arm/v7" - "--label=org.opencontainers.image.title={{.ProjectName}}" diff --git a/Dockerfile b/Dockerfile index 028be5e..ccf36e7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,15 @@ -FROM fedora +FROM --platform=linux/amd64 docker.io/amd64/fedora RUN useradd -rm olivetin -u 1000 -RUN mkdir -p /config /var/www/olivetin/ && \ +RUN mkdir -p /config /var/www/olivetin \ + && \ dnf install -y \ iputils \ openssh-clients \ docker \ && dnf clean all && \ - rm -rf /var/cache/yum # install ping + rm -rf /var/cache/yum EXPOSE 1337/tcp diff --git a/Dockerfile.arm64 b/Dockerfile.arm64 new file mode 100644 index 0000000..f5a6de8 --- /dev/null +++ b/Dockerfile.arm64 @@ -0,0 +1,23 @@ +FROM --platform=linux/arm64 docker.io/arm64v8/fedora + +RUN useradd -rm olivetin -u 1000 + +RUN mkdir -p /config /var/www/olivetin \ + && \ + dnf install -y \ + iputils \ + openssh-clients \ + docker \ + && dnf clean all && \ + rm -rf /var/cache/yum + +EXPOSE 1337/tcp + +VOLUME /config + +COPY OliveTin /usr/bin/OliveTin +COPY webui /var/www/olivetin/ + +USER olivetin + +ENTRYPOINT [ "/usr/bin/OliveTin" ] diff --git a/Dockerfile.armv7 b/Dockerfile.armv7 new file mode 100644 index 0000000..9424896 --- /dev/null +++ b/Dockerfile.armv7 @@ -0,0 +1,23 @@ +FROM --platform=linux/arm/v7 arm32v7/fedora:latest + +RUN useradd -rm olivetin -u 1000 + +RUN mkdir -p /config /var/www/olivetin \ + && \ + dnf install -y \ + iputils \ + openssh-clients \ + docker \ + && dnf clean all && \ + rm -rf /var/cache/yum + +EXPOSE 1337/tcp + +VOLUME /config + +COPY OliveTin /usr/bin/OliveTin +COPY webui /var/www/olivetin/ + +USER olivetin + +ENTRYPOINT [ "/usr/bin/OliveTin" ]