Skip to content

NixOS/nixos-wiki-infra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f53df2d · Apr 20, 2025
Mar 22, 2025
Mar 22, 2025
Apr 19, 2025
Mar 22, 2025
Jul 6, 2024
Mar 22, 2025
Mar 22, 2025
Mar 22, 2025
Sep 13, 2024
Mar 22, 2025
Jul 6, 2024
Mar 22, 2025
Apr 20, 2025
Mar 22, 2025
Mar 22, 2025
Apr 2, 2024
Apr 3, 2024

Repository files navigation

nixos-wiki-infra

This project contains the setup of the official NixOS Wiki (wiki.nixos.org).

Additionally, this project's GitHub Issues host a space for coordination and discussion of wiki activities, in tandem with the Matrix channel #wiki:nixos.org.

Examples

Checkout ./targets/nixos-wiki.nixos.org for an example terraform deployment on hetzner cloud.

Downloading a dump of the wiki

This is useful if you want to run your own instance. Every day an XML dump is updated here:

https://wiki.nixos.org/wikidump.xml.zst

Restoring from a backup (wiki admins only)

$ systemctl stop phpfpm-mediawiki.service
$ borg-job-wiki list
$ borg-job-wiki mount [email protected]:wiki.nixos.org/repo::wiki-wiki-2024-04-01T12:40:37 /tmp/restore
$ ls -la /tmp/restore/var/lib/mediawiki/backup/
$ sudo dropdb db
$ sudo -u postgres dropdb mediawiki
$ systemctl restart postgresql.service
$ sudo -u postgres pg_restore -d mediawiki < /tmp/restore/var/lib/mediawiki/backup/db
$ systemctl start phpfpm-mediawiki.service
$ ls -la /tmp/restore/var/lib/mediawiki-uploads/
$ umount /tmp/restore/

Applying terraform

Updating hetzner ssh keys:

$ ./targets/admins/tf.sh apply

Deploying hetzner machine:

$ ./targets/nixos-wiki.nixos.org/tf.sh apply

Updating NixOS server

$ ./targets/nixos-wiki.nixos.org/deploy.sh

FAQ:

When logging in with "GitHub auth", the app shows "Act on your behalf" as a permission.

We created the Oauth app with read-only access and minimal permissions:

Unfortunately, GitHub misrepresents this information. Read more about this issue here: https://github.com/orgs/community/discussions/37117

Roles

Various roles are present on the wiki: