Skip to content

Dockerfiles

This page describes how to create a custom Docker image for Saturn based on Alpine Linux or Debian.

The Saturn Docker image doesn't contain additional packages to

  • keep the image size small
  • not waste resources because, for example, Python is installed even though the user doesn't use Python plugins

Alpine Linux

FROM codeberg.org/saturn-sync/saturn:v0.32.1 AS saturn

FROM alpine:3.22
ENV SATURN_DATADIR=/var/lib/saturn
RUN apk add --no-cache ca-certificates-bundle git && \
    rm -rf /var/cache/apk/* && \
    addgroup -g 1001 -S saturn && \
    adduser -h $SATURN_DATADIR -u 1001 -G saturn -S saturn
COPY --from=saturn /saturn /bin/saturn
WORKDIR $SATURN_DATADIR
USER saturn
CMD ["/bin/saturn"]

Debian

FROM codeberg.org/saturn-sync/saturn:v0.32.1 AS saturn

FROM debian:trixie
ENV SATURN_DATADIR=/var/lib/saturn
RUN groupadd --system --gid 1001 saturn && \
    useradd --system --gid saturn --home $SATURN_DATADIR --comment "saturn user" --shell /bin/false --uid 1001 saturn && \
    apt-get update && \
    apt-get install --no-install-recommends -y git ca-certificates && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*
COPY --from=saturn /saturn /bin/saturn
USER saturn
WORKDIR $SATURN_DATADIR
CMD ["/bin/saturn"]