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:

  1. npm run builddist/
  2. ssh netcup mkdir -p /srv/libretech-static/libretech
  3. rsync -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 IP 37.120.174.54
  • TLS: wildcard cert via INWX DNS-01 (Caddy handles automatically)

Adding another static site

  1. Build → dist/
  2. rsync dist/ root@netcup:/srv/libretech-static/<name>/
  3. 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%