librete.ch — landing site
Source for libretech.static.librete.ch (and historically librete.ch,
M6C9.de). Pug + Parcel build, served as a pure-static site by the
netcup edge Caddy via *.static.librete.ch.
Build
npm install # first time
npm run build # outputs dist/
Or:
make build
Deploy
The *.static.librete.ch group on netcup is just a directory tree —
each <sub>.static.librete.ch maps to /srv/libretech-static/<sub>/
served by Caddy file_server. Deploy = rsync dist/ into that subdir.
make deploy
The makefile (gitignored, contains personal SSH config) does:
npm run build→dist/ssh netcup mkdir -p /srv/libretech-static/libretechrsync -avz --delete dist/ root@netcup:/srv/libretech-static/libretech/
After rsync, no Caddy reload needed (file_server reads from disk per request).
DNS
Vhost *.static.librete.ch requires:
- DNS A/AAAA:
*.static.librete.ch→ netcup IP37.120.174.54 - TLS: wildcard cert via INWX DNS-01 (Caddy handles automatically)
Adding another static site
- Build →
dist/ rsync dist/ root@netcup:/srv/libretech-static/<name>/- Site live at
https://<name>.static.librete.ch/— no Caddy edit needed.
Sibling repos
libretech/caddy— edge proxy + static-vhost group config
Description
Languages
Pug
100%