Add wikijs for Aux

As part of the infra and docs teams for Auxolotl, we've decided to host
their wiki for them.

This was difficult for a few reasons
- They do not use Cloudflare, so our standard https certificate
  provisioning will not work
- They do not want our automatic www subdomains
- We already run wiki.js for TransPlace, and are not able to take that
  down. Nix doesn't allow us to add multiple wiki.js instances alongside
  each other
- This is not permanent, so we want to make it really easy to move to
  another server at a moment's notice, for example we don't want to tie
  it in to our postgres server

As a mitigation for these
- We override our normal ACME configuration. This forces cloudflare by
  default. We have added an "ugly hack" to avoid it forcing cloudflare
  for aux
- We update helpers to add a "specific" domain, i.e. do not add www
  aliases
- We use a nix container to host the wiki.js and another postgres server

Change-Id: Iecead03467f2b4a958d83cc6f92a8a0304323e35
Reviewed-on: https://git.clicks.codes/c/Infra/NixFiles/+/682
Tested-by: Skyler Grey <minion@clicks.codes>
Reviewed-by: Samuel Shuert <coded@clicks.codes>
5 files changed
tree: 40c0caec9fb11242ddaa865320c8f949212f69a5
  1. .vscode/
  2. homes/
  3. modules/
  4. packages/
  5. secrets/
  6. services/
  7. variables/
  8. .editorconfig
  9. .envrc
  10. .gitignore
  11. .gitmodules
  12. .gitreview
  13. .sops.yaml
  14. flake.lock
  15. flake.nix
  16. LICENSE
  17. README.md
README.md

Clicks' NixFiles

Deploying

To deploy these files to our server we use deploy-rs. If you've got a flakes-enabled nix installed on your system you can run

nix run github:serokell/deploy-rs

You can also install deploy-rs to your profile, at which point you'll be able to run

deploy

Updating secrets

Secrets are stored in SOPS and deployed using scalpel.

If you have a service which needs to store secrets in its config file, please set systemd reloadTriggers and restartTriggers to automatically reload/restart the service whenever the configuration changes.

It's notable that changing the secrets will not trigger a reload/restart of the service. If you want to update the secrets without updating the rest of the configuration you currently need to manually restart the service. It's possible that this could be solved by using systemd paths to watch the files (see https://superuser.com/questions/1171751/restart-systemd-service-automatically-whenever-a-directory-changes-any-file-ins) but this is not a priority