Host:suppe.k4cg.org

Aus k4cg.org
Die druckbare Version wird nicht mehr unterstützt und kann Darstellungsfehler aufweisen. Bitte aktualisiere deine Browser-Lesezeichen und verwende stattdessen die Standard-Druckfunktion des Browsers.
Host:suppe.k4cg.org
Hostname suppe.k4cg.org
IPv4 213.95.154.222
Network 255.255.255.0
Gateway 192.168.178.1
DNS 192.168.178.1
OS NixOS
Users noqqe
Betreuer/in Benutzer:noqqe
Location noris network AG

General

Hostet:

Hardware Umfeld

  • CPU: 2
  • RAM: 2GB
  • SSD: 20GB (performance storage)

Bei noris Network - OpenStack unter [noris.cloud].

Dort haben wir 2000 Cloud Credits erhalten die wir mittels eines Excel Sheets ausgeben können.

Zugang zur Plattform steht in pass

OS

Wir betreiben hier ein NixOS.

Alle Konfigurationen finden also in /etc/nixos/configuration.nix statt.

Das sieht am Anfang verwirrend aus, aber wenn man sich auf der NixOS Site unter Options umsieht, findet sich zu jedem Punkt der gesamten Optionen eine Erklärung.

IPv6

Leider unterstützt die noris.cloud Plattform noch kein IPv6 :(

nichtparasoup

Setup

Wir benutzen zum Hosting der Hackspace Entertainment Systems Podman in Docker Containern

In /etc/nixos/containers.nix

virtualisation.oci-containers = {
  backend = "podman";
  containers = {

    nichtparasoupsfw = {
      image = "noqqe/nichtparasoup:0.0.2";
      volumes = [
       "/data/nichtparasoup/sfw.yml:/app/config.yml"
      ];
      extraOptions = [
       "--ip=10.88.10.11"
      ];
    };
  };
};

Von diesen Instanzen gibt es insgesamt 4 Stück. Da der Traffic aber auf verschiedenen Kontexten (/sfw/, /kadsen/) aufgeteilt wird brauchen wir einen kleinen Ingress-Controller.

Das macht in unserem Fall caddy, Ebenfalls ein Container. Caddy übernimmt außerdem vollautomatisch die Verwaltung der Lets Encrypt Zertifikate für HTTPS

    # Ingress traffic
    ingress = {
      image = "library/caddy:2.2.1";
      ports = [
        "80:80"
        "443:443"
      ];
      volumes = [
        "/data/ingress/Caddyfile:/etc/caddy/Caddyfile"
        "/data/ingress/data:/data"
        "/data/ingress/config:/config"
        "/data/nichtparasoup/htdocs:/var/www"
      ];
    };

Die Configuration von Caddy liegt hier: /data/ingress/Caddyfile

Operations

Laufen die Nichtparasoup Instanzen noch?

# podman ps
CONTAINER ID  IMAGE                                COMMAND               CREATED         STATUS             PORTS               NAMES
6507d9d407fc  docker.io/library/caddy:2.2.1        caddy run --confi...  26 minutes ago  Up 26 minutes ago  0.0.0.0:80->80/tcp  ingress
0d4ab24decbc  docker.io/noqqe/nichtparasoup:0.0.2  nichtparasoup run...  22 hours ago    Up 22 hours ago                        nichtparasoupkadsen
28d4d60e1e67  docker.io/noqqe/nichtparasoup:0.0.2  nichtparasoup run...  22 hours ago    Up 22 hours ago                        nichtparasoupsfw
865c11a9efbd  docker.io/noqqe/nichtparasoup:0.0.2  nichtparasoup run...  22 hours ago    Up 22 hours ago                        nichtparasouppr0
fb07a61f9171  docker.io/noqqe/nichtparasoup:0.0.2  nichtparasoup run...  22 hours ago    Up 22 hours ago                        nichtparasoupdemo

Logs einer nichtparasoup Instanz anzeigen

# systemctl status podman-nichtparasoupsfw.service
● podman-nichtparasoupsfw.service
     Loaded: loaded (/nix/store/9zsm52g15mkdyn5ylfj1mfq3ndx0yc7l-unit-podman-nichtparasoupsfw.service/podman-nichtparasoupsfw.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-01-26 13:00:10 CET; 22h ago

Eine nichtparasoup Instanz neustarten

systemctl restart podman-nichtparasoupsfw.service

Iwas ist komisch und / oder Kaputt

NixOS to the rescue! Wenn irgendwas komisch ist, sollte

nixos-rebuild switch

reichen damit alles wieder schön ist. Die Vorteile eines deklarativen Systems <3

Backup

Im moment noch keines (Januar 2021). Daten sind tatsächlicherweise keine auf der Maschine, nur die Config wäre wichtig. Wird wie bei Host:rumpl.k4cg.org per Restic auf unser NAS eingerichtet.