From 22225c5bd08bc7bb1aae996fc980c31c9570a008 Mon Sep 17 00:00:00 2001 From: Nihal Gonsalves Date: Sat, 21 Mar 2026 21:20:15 +0100 Subject: [PATCH 1/3] Update web app FAQ to include `require-login` --- docs/faq.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/faq.md b/docs/faq.md index 5153c700..1e8985b7 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -71,7 +71,8 @@ The web app is a static website without a backend (other than the ntfy API). All cache and local storage. That means it does not need to be protected with a login screen, and it poses no additional security risk. So technically, it does not need to be disabled. -However, if you still want to disable it, you can do so with the `web-root: disable` option in the `server.yml` file. +However, if you still want, you can require login with the `require-login: true` option, +or disable it with the `web-root: disable` option in the `server.yml` file. Think of the ntfy web app like an Android/iOS app. It is freely available and accessible to anyone, yet useless without a proper backend. So as long as you secure your backend with ACLs, exposing the ntfy web app to the Internet is harmless. From 52cad203fa0fce3b2383227c1904c067b2023d9c Mon Sep 17 00:00:00 2001 From: Nihal Gonsalves Date: Sun, 22 Mar 2026 00:50:47 +0100 Subject: [PATCH 2/3] build: fix Dockerfile-build, bump EoL go/node --- .github/workflows/build.yaml | 4 ++-- .github/workflows/release.yaml | 4 ++-- .github/workflows/test.yaml | 4 ++-- Dockerfile-build | 8 ++++++-- web/package-lock.json | 18 ------------------ 5 files changed, 12 insertions(+), 26 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 72b9e360..1baa82c2 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -9,11 +9,11 @@ jobs: - name: Install Go uses: actions/setup-go@v4 with: - go-version: '1.24.x' + go-version: '1.25.x' - name: Install node uses: actions/setup-node@v3 with: - node-version: '20' + node-version: '24' cache: 'npm' cache-dependency-path: './web/package-lock.json' - name: Install dependencies diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 55a54d60..4ebb9d56 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -28,11 +28,11 @@ jobs: - name: Install Go uses: actions/setup-go@v4 with: - go-version: '1.24.x' + go-version: '1.25.x' - name: Install node uses: actions/setup-node@v3 with: - node-version: '20' + node-version: '24' cache: 'npm' cache-dependency-path: './web/package-lock.json' - name: Docker login diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 8d80b960..94f08fd9 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -25,11 +25,11 @@ jobs: - name: Install Go uses: actions/setup-go@v4 with: - go-version: '1.24.x' + go-version: '1.25.x' - name: Install node uses: actions/setup-node@v3 with: - node-version: '20' + node-version: '24' cache: 'npm' cache-dependency-path: './web/package-lock.json' - name: Install dependencies diff --git a/Dockerfile-build b/Dockerfile-build index 0fe16cf9..82426664 100644 --- a/Dockerfile-build +++ b/Dockerfile-build @@ -1,8 +1,8 @@ -FROM golang:1.24-bullseye as builder +FROM golang:1.25-bookworm AS builder ARG VERSION=dev ARG COMMIT=unknown -ARG NODE_MAJOR=18 +ARG NODE_MAJOR=24 RUN apt-get update && apt-get install -y \ build-essential ca-certificates curl gnupg \ @@ -41,6 +41,10 @@ ADD ./server ./server ADD ./user ./user ADD ./util ./util ADD ./payments ./payments +ADD ./db ./db +ADD ./message ./message +ADD ./model ./model +ADD ./webpush ./webpush RUN make VERSION=$VERSION COMMIT=$COMMIT cli-linux-server FROM alpine diff --git a/web/package-lock.json b/web/package-lock.json index e2ec6f9f..513b0ab8 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -9514,24 +9514,6 @@ "dev": true, "license": "ISC" }, - "node_modules/yaml": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", - "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", - "dev": true, - "license": "ISC", - "optional": true, - "peer": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14.6" - }, - "funding": { - "url": "https://github.com/sponsors/eemeli" - } - }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", From d5466f30e5e0eb8b68aca979d77f62038ea832ca Mon Sep 17 00:00:00 2001 From: Nihal Gonsalves Date: Sun, 22 Mar 2026 01:22:13 +0100 Subject: [PATCH 3/3] perf: speed up deps using buildkit cache --- Dockerfile-build | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile-build b/Dockerfile-build index 82426664..23503fd7 100644 --- a/Dockerfile-build +++ b/Dockerfile-build @@ -21,14 +21,14 @@ ADD Makefile . # docs ADD ./requirements.txt . -RUN make docs-deps +RUN --mount=type=cache,target=/root/.cache/pip make docs-deps ADD ./mkdocs.yml . ADD ./docs ./docs RUN make docs-build # web ADD ./web/package.json ./web/package-lock.json ./web/ -RUN make web-deps +RUN --mount=type=cache,target=/root/.npm make web-deps ADD ./web ./web RUN make web-build @@ -45,7 +45,7 @@ ADD ./db ./db ADD ./message ./message ADD ./model ./model ADD ./webpush ./webpush -RUN make VERSION=$VERSION COMMIT=$COMMIT cli-linux-server +RUN --mount=type=cache,target=/go/pkg/mod --mount=type=cache,target=/root/.cache/go-build make VERSION=$VERSION COMMIT=$COMMIT cli-linux-server FROM alpine