diff --git a/README.md b/README.md index 7e37f24..61bde7b 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,81 @@ -# infra +# Serverraum-mit-Matratze Infrastructure +[](LICENSE) +[](https://github.com/RichardLitt/standard-readme) + +This is the Infrastructure Code for the "Serverraum mit Matratze" shared apartment. + +## Table of Contents + +- [Dependencies](#dependencies) +- [Updating Configuration](#updating-configuration) +- [Hosts](#hosts) +- [License](#license) + +## Dependencies + +To remotely Deploy Nix-Servers with Native Tools, you will need Access to the nixos-rebuild command. + +You can either use a NixOS System. + +Or you can Install the [Nix Package Manager](https://nixos.org/download/) and open a Nix-Shell with the Command available: + +``` bash +nix-shell -p '(nixos{}).nixos-rebuild' +``` + +## Updating Configuration + +So, you updated the Configuration on your Computer, how can you apply the Updated Config to the Server? + +You'll need SSH-Access to the Server, with a User which can run Nix-Commands, and can escalate Privileges using sudo. + +1. Don't forget to Configure your ssh Config! (See [Hosts](#hosts)) +2. Stage the Changes if you created or deleted Files `git add .` (They will be ignored if you miss this step!) +3. Build and Switch the Config on the Target Server! (Example [mow0m](#mow0m) + +``` bash +nixos-rebuild switch --flake .#mow0m --target-host master@mow0m --build-host master@mow0m --use-remote-sudo +``` + +You want to keep the Build-Host the Same as the Target-Host, because the Target will only accept Binarys with a trusted Signature. It is way easier, to just run the Build on the Same Machine then. + +## Hosts + +### mow0m + +[Configuration](./systems/x86_64-linux/mow0m) + +
User | +master@mow0m | +
Cpu | +Intel(R) Core(TM) i5-6400 (4) @ 3.30 GHz | +
Ram | +32GB | +
Build | +nixos-rebuild switch --flake .#mow0m --target-host master@mow0m --build-host master@mow0m --use-remote-sudo |
+
SSH Config | +
+Host mow0m
+ HostName mow0m.lan
+ User master
+ Port 9553
+ IdentityFile ~/.ssh/master@mow0m |
+