ntfy/Containerfile

41 lines
830 B
Docker

FROM docker.io/golang:1.21-alpine3.19 AS builder
RUN echo "ntfy:x:2222:2222:Linux User,,,:/:/ntfy" > /passwd
RUN mkdir -p /data/attachments
RUN apk --no-cache add \
git \
make \
musl-dev \
gcc \
npm
ENV VERSION=v2.10.0
RUN git clone https://github.com/binwiederhier/ntfy.git
WORKDIR /go/ntfy
RUN git checkout "$VERSION"
ENV CGO_CFLAGS="-D_LARGEFILE64_SOURCE"
RUN make web
RUN make web-build
RUN make cli-linux-server
FROM scratch
COPY --from=builder /passwd /etc/passwd
COPY --from=builder --chown=2222:2222 /data /data
COPY --from=builder /go/ntfy/dist/ntfy_linux_server/ntfy /ntfy
USER ntfy
ENV NTFY_LISTEN_HTTP=:8080
ENV NTFY_CACHE_FILE=/data/cache.db
ENV NTFY_ATTACHMENT_CACHE_DIR=/data/attachments
ENV NTFY_AUTH_FILE=/data/user.db
ENV NTFY_ENABLE_LOGIN=true
CMD ["/ntfy", "serve", "-debug", "--trace"]