chore: use scratch

Signed-off-by: skidoodle <contact@albert.lol>
This commit is contained in:
2026-01-22 04:37:33 +01:00
parent 577c4b67f6
commit 89b4d3f4e6
2 changed files with 38 additions and 32 deletions
+18 -12
View File
@@ -1,19 +1,25 @@
FROM debian:trixie-slim
FROM alpine:latest AS sys-context
RUN apk add --no-cache ca-certificates mailcap
RUN echo "appuser:x:10001:10001:appuser:/:/sbin/nologin" > /etc/passwd_app \
&& echo "appuser:x:10001:appuser" > /etc/group_app
RUN mkdir -p /app/storage
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
media-types \
&& rm -rf /var/lib/apt/lists/*
FROM scratch
COPY --from=sys-context /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=sys-context /etc/mime.types /etc/mime.types
COPY --from=sys-context /etc/passwd_app /etc/passwd
COPY --from=sys-context /etc/group_app /etc/group
COPY safebin /app/safebin
COPY --from=sys-context --chown=10001:10001 /app/storage /app/storage
RUN useradd -m -u 10001 -s /bin/bash appuser
WORKDIR /app
COPY safebin .
RUN mkdir -p /app/storage && chown 10001:10001 /app/storage
VOLUME ["/app/storage"]
USER 10001
VOLUME ["/app/storage"]
EXPOSE 8080
ENV SAFEBIN_HOST=0.0.0.0 \
SAFEBIN_PORT=8080 \
SAFEBIN_STORAGE=/app/storage
ENTRYPOINT ["/app/safebin"]