diff options
| author | Claude <noreply@anthropic.com> | 2026-03-31 12:11:18 +0200 |
|---|---|---|
| committer | Claude <noreply@anthropic.com> | 2026-03-31 12:11:18 +0200 |
| commit | 3cb7c82cf7c4e050148f69be23590a7fbe587a27 (patch) | |
| tree | d2b6506db2de72b3a6982cfbe69925b88936de90 /nebbet.service | |
| parent | 33f214f6cd9729473bb55fd7b3b923d5d960bb98 (diff) | |
| download | nebbet.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.service | 27 |
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 |
