41 lines
829 B
Docker
41 lines
829 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.8.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"]
|