This repository archives historic W.I.S.V. Christiaan Huygens committee and event websites. It serves those otherwise separate sites from one Nginx container in the cluster, rather than maintaining a container for every archived hostname.
Each hostname has a directory at the repository root. Nginx selects that
directory from the request's Host header, so a request for
2026.hackdelft.nl is served from 2026.hackdelft.nl/.
Install Git LFS before cloning. The archive stores binary assets such as images, fonts, media, PDFs, and archives in LFS.
git lfs install
git clone git@github.com:WISVCH/archived-static.git
cd archived-static
git lfs pull
git lfs fsckgit lfs fsck should complete without errors before changing or deploying the
archive.
-
Obtain the rendered static files (not the source project) and put them in a new root directory named exactly after the hostname, for example
2027.example.org/. The directory must contain itsindex.htmland all assets referenced by it. -
Confirm that binary assets are covered by
.gitattributes. -
Stage and commit the new directory:
git add 2027.example.org git lfs status git commit -m "feat: archive Example 2027 site" -
You can build and smoke-test the image, by sending the intended hostname as the Host header:
docker build -t archived-static:test . docker run --rm -p 18080:8080 archived-static:test # In another terminal: curl -H 'Host: 2027.example.org' http://127.0.0.1:18080/
-
Push the commit. Git LFS uploads new binary assets during
git push.
When two hostnames must serve exactly the same static site, use a relative symbolic link instead of copying a directory:
ln -s 2026.hackdelft.nl 2026.hackdelft.com
git add 2026.hackdelft.comGit records a symbolic link as a small link entry, and Nginx follows it in this container configuration. Keep links relative and point them only at another site directory inside this repository. On filesystems without symlink support (including some Windows setups), Git may check a link out as a plain text file; use a symlink-capable checkout when building the container.