4
0

Dockerfile.multiarches 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. # Multi-arch Dockerfile for GoReleaser (dockers_v2).
  2. # Base image :44 is used without arch suffix so the registry can supply the right
  3. # platform (manifest list). TARGETPLATFORM is set by BuildKit for COPY.
  4. # For custom/local single-arch builds, use Dockerfile.singlearch instead.
  5. ARG TARGETPLATFORM
  6. FROM registry.fedoraproject.org/fedora-minimal:44 AS olivetin-tmputils
  7. RUN microdnf -y install dnf-plugins-core && \
  8. dnf-3 config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo && \
  9. microdnf install -y docker-ce-cli docker-compose-plugin && microdnf clean all
  10. FROM registry.fedoraproject.org/fedora-minimal:44
  11. LABEL org.opencontainers.image.source https://github.com/OliveTin/OliveTin
  12. LABEL org.opencontainers.image.title OliveTin
  13. RUN mkdir -p /config /config/entities/ /var/www/olivetin \
  14. && \
  15. microdnf install -y --nodocs --noplugins --setopt=keepcache=0 --setopt=install_weak_deps=0 \
  16. iputils \
  17. openssh-clients \
  18. kubernetes-client \
  19. shadow-utils \
  20. apprise \
  21. jq \
  22. git \
  23. && microdnf clean all
  24. COPY --from=olivetin-tmputils \
  25. /usr/bin/docker \
  26. /usr/bin/docker
  27. COPY --from=olivetin-tmputils \
  28. /usr/libexec/docker/cli-plugins/docker-compose \
  29. /usr/libexec/docker/cli-plugins/docker-compose
  30. RUN useradd --system --create-home olivetin -u 1000
  31. EXPOSE 1337/tcp
  32. COPY config.yaml /config
  33. COPY var/entities/* /config/entities/
  34. COPY examples/backupScript.sh /opt/backupScript.sh
  35. RUN chmod 755 /opt/backupScript.sh
  36. VOLUME /config
  37. ARG TARGETPLATFORM
  38. COPY $TARGETPLATFORM/OliveTin /usr/bin/OliveTin
  39. COPY webui /var/www/olivetin/
  40. COPY var/helper-actions/* /usr/bin/
  41. USER olivetin
  42. ENTRYPOINT [ "/usr/bin/OliveTin" ]