summaryrefslogtreecommitdiffstats
path: root/nebbet.service
diff options
context:
space:
mode:
authorClaude <noreply@anthropic.com>2026-03-31 12:11:18 +0200
committerClaude <noreply@anthropic.com>2026-03-31 12:11:18 +0200
commit3cb7c82cf7c4e050148f69be23590a7fbe587a27 (patch)
treed2b6506db2de72b3a6982cfbe69925b88936de90 /nebbet.service
parent33f214f6cd9729473bb55fd7b3b923d5d960bb98 (diff)
downloadnebbet.no-3cb7c82cf7c4e050148f69be23590a7fbe587a27.tar.xz
nebbet.no-3cb7c82cf7c4e050148f69be23590a7fbe587a27.zip
Add static site builder: SQLite-backed MD→HTML pipeline
- cmd/nebbet: CLI with build [--watch] and user add/passwd/delete/list - internal/builder: markdown→HTML, component injection via HTML comments, auto importmap from lib/, fsnotify watch with 150ms debounce - internal/db: meta.db (page index, tag queries) + search.db (FTS5) - internal/sqlitedrv: minimal CGO database/sql driver for system libsqlite3 - internal/auth: htpasswd-compatible bcrypt password file management - templates/base.html + admin.html, styles/main.css + admin.css - nginx.conf with auth_basic for /admin, clean URLs, gzip - nebbet.service systemd unit for watch daemon - Example content/index.md and components/site-greeting.js https://claude.ai/code/session_01HTc1BCBCiMTEB54XQP1Wz9
Diffstat (limited to 'nebbet.service')
-rw-r--r--nebbet.service27
1 files changed, 27 insertions, 0 deletions
diff --git a/nebbet.service b/nebbet.service
new file mode 100644
index 0000000..9da673e
--- /dev/null
+++ b/nebbet.service
@@ -0,0 +1,27 @@
+# systemd service for nebbet watch daemon
+#
+# Install:
+# sudo cp nebbet.service /etc/systemd/system/
+# sudo systemctl daemon-reload
+# sudo systemctl enable --now nebbet
+#
+# Adjust WorkingDirectory and User as needed.
+
+[Unit]
+Description=nebbet static site builder (watch mode)
+After=network.target
+
+[Service]
+Type=simple
+User=www-data
+WorkingDirectory=SITE_ROOT
+ExecStart=SITE_ROOT/nebbet build --watch
+Restart=on-failure
+RestartSec=5
+
+# Limit what the process can do
+PrivateTmp=true
+NoNewPrivileges=true
+
+[Install]
+WantedBy=multi-user.target