zion/README.org

54 lines
1.2 KiB
Org Mode

* NixOS Server
Configuration files for my personal server, powered by [[https://nixos.org/][NixOS]].
** Modules
The configuration is sliced into different files, per category:
- ZFS pool configuration: hardware-configuration.nix
- Network configuration: networking.nix
- Synchronization and backup services: datasync.nix
- Web services and reverse proxy: webstack.nix
- Development tools: devops.nix
- Smartd: monitoring.nix
- Systemd services and timers: periodic.nix
- Curated articles: information.nix
All the modules are imported in *configuration.nix*
** Installation
1. Download the sdcard image
2. Use initial config file
#+begin_src shell
cp install.nix configuration.nix
#+end_src
3. Move the repo to the server and the agenix key
#+begin_src shell
scp -r Projects/zion zion:/home/nixos/system
scp .ssh/zion root@zion:/etc/ssh/id_ed25519
#+end_src
4. Mount the firmware partition
#+begin_src shell
mount /dev/mmcblk1p1 /boot
#+end_src
5. Rebuild the system using Flakes
#+begin_src shell
nix-shell -p git
sudo nixos-rebuild switch --flake /home/nixos/system#zion
#+end_src
6. Restore the SQL databases
#+begin_src shell
gunzip -c /vault/backups/zion/databases/all.sql.gz | psql -U postgres
#+end_src