olivetin/Dockerfile.multiarches

49 lines
1.5 KiB
Docker

# Multi-arch Dockerfile for GoReleaser (dockers_v2).
# TARGETPLATFORM is set by BuildKit for COPY.
# For custom/local single-arch builds, use Dockerfile.singlearch instead.
ARG TARGETPLATFORM
FROM debian:13-slim
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 \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
apprise \
ca-certificates \
curl \
git \
iputils-ping \
jq \
openssh-client \
passwd \
&& install -m 0755 -d /etc/apt/keyrings \
&& curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc \
&& chmod a+r /etc/apt/keyrings/docker.asc \
&& 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 \
&& 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
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" ]