add yisroelbaum web stack module

This commit is contained in:
Yisroel Baum 2026-07-31 11:17:25 +03:00
commit 4a4de4eb0a
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9
6 changed files with 456 additions and 0 deletions

41
README.md Normal file
View file

@ -0,0 +1,41 @@
# yisroelbaum.com web stack
This flake owns the production NixOS configuration for the web services under
`yisroelbaum.com`:
- the MyResume package at `yisroelbaum.com`;
- Jellyfin at `jellyfin.yisroelbaum.com`;
- Forgejo at `git.yisroelbaum.com`, including its Borg backup;
- Rabbi Gerzi at `rabbigerzi.yisroelbaum.com` and
`rabbigerziapi.yisroelbaum.com`;
- nginx and per-host ACME certificates for those endpoints.
The importing host remains responsible for provisioning secrets. Import
`nixosModules.yisroelbaum-web` or `nixosModules.default`, then pass the
resulting runtime paths:
```nix
services.yisroelbaum-web = {
enable = true;
secretFiles = {
borgPassphrase = "/run/secrets/borg-passphrase";
borgPrivateKey = "/run/secrets/borg-private-key";
forgejoMailerUser = "/run/secrets/forgejo-mailer-user";
forgejoMailerPassword = "/run/secrets/forgejo-mailer-password";
rabbiGerziEnvironment = "/run/secrets/rabbi-gerzi.env";
};
};
```
Run the checks with:
```shell
nix flake check
```
## First deployment
This repository is hosted by the Forgejo instance that it configures. For the
initial migration, publish and push this flake while the old host configuration
is still active. Only then add the remote flake input to the host configuration
and update its lock file.