From 6fe28894dc15e8ed28e1ffcf4e881f4ee4aa52ae Mon Sep 17 00:00:00 2001 From: Kaybee Date: Tue, 6 May 2025 01:18:03 +0200 Subject: [PATCH] Updated Readme --- README.md | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 80 insertions(+), 1 deletion(-) 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://img.shields.io/badge/license-GPL%20v2-blue)](LICENSE) +[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](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) + + + + + + + + + + + + + + + + + + + + + + + +
Usermaster@mow0m
CpuIntel(R) Core(TM) i5-6400 (4) @ 3.30 GHz
Ram32GB
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
+ + +## License + +[GPL v2](../LICENSE)