home-server-config/secrets
2026-07-31 11:30:25 +03:00
..
borgbackup.yaml add borgbackup to forgejo 2026-06-11 21:58:04 +03:00
forgejo.yaml add mailer creds for forgejo 2026-05-14 10:05:41 +03:00
rabbi-gerzi.env add rabbi gerzi secrets 2026-07-02 16:22:55 +03:00
README.md move yisroelbaum web stack into module 2026-07-31 11:30:25 +03:00
tide.yaml move discourse behind tide module 2026-07-19 10:40:25 +03:00
tide.yaml.example move discourse behind tide module 2026-07-19 10:40:25 +03:00

Secrets

Encrypted with sops using the host's age key.

First-time setup on the server

  1. Generate an age key for the host:
    sudo mkdir -p /var/lib/sops-nix
    sudo age-keygen -o /var/lib/sops-nix/key.txt
    sudo chmod 600 /var/lib/sops-nix/key.txt
    
  2. Read the public key:
    sudo grep "public key" /var/lib/sops-nix/key.txt
    
  3. On a workstation, put that public key into .sops.yaml at the repository root and encrypt the required secret files.

Shared Borg backup credentials

borgbackup.yaml contains private-key and passphrase. The resulting secrets are shared by the TIDE and yisroelbaum.com backup jobs.

Forgejo

forgejo.yaml contains forgejo-mailer-user and forgejo-mailer-passwd. The host passes these secret paths to the yisroelbaum-web module.

TIDE

Create tide.yaml from tide.yaml.example and encrypt it with sops. It must contain admin-password, mail-key, and secret-key. The encrypted file is committed; the example contains placeholders only.

Rabbi Gerzi

Create rabbi-gerzi.env as a SOPS-encrypted dotenv file with:

APP_KEY=base64:...
RABBI_GERZI_INITIAL_ADMIN_EMAIL=...
RABBI_GERZI_INITIAL_ADMIN_PASSWORD=...

The host passes this environment file to the Rabbi Gerzi service through the yisroelbaum-web module.