Mini Home- und Experimentier-Server/Rechner

Balleny

Lt. Junior Grade
Registriert
Sep. 2012
Beiträge
263
Moin zusammen,

ich plane demnächst meine Raspberry Pies durch etwas potentere Hardware zu ersetzen. Gleichzeitig möchte ich diese Möglichkeit nutzen, mich etwas mehr mit ein paar "neueren" Technologien zu beschäftigen und hoffe hier einfach zu ein paar Aspekten ein wenig Input.

1. Hardware
Aktuell benutze ich primär einen Raspberry Pi 3 und/oder einen Pi Zero. Es ist allerdings so, dass z.B. Nextcloud auf diesen nur begrenzt Spaß macht.
Als Anschaffung tendiere ich aktuell zum neuen DeskMini A300 mit einem Athlon 200GE.
Ein offener Punkt sind noch die Festplatten. Ich habe noch keine Ahnung von RAID (Software seitig?!), spiele aber mit dem Gedanken einer Hauptplatte (m.2, SSD) und 2 Sata HDDs (diese im RAID 1) - sofern dies möglich ist.
Das ganze wird zuhause stehen und vermutlich hinter einer FritzBox 7490 landen (hier erwähnt, weil mir dies schon öfters mal Kopfschmerzen mit Nat Loopback, DNS und DHCP bereitet hat).

2. Intention
Neues und mehr Lernen. Ich habe schon verschiedene Sachen auf meinen Raspberries betrieben (Nextcloud aktuell, PiHole, DokuWiki, Spieleemulatoren) und würde dafür gerne eine bessere Basis schaffen.
Gleichzeitig habe ich mir vor kurzem auch mal Docker und Docker-compose, YunoHost und andere Tools angeschaut. Und am besten lernt man am Ende ja beim Benutzen.

3. Setup & Plan
Hier sind jetzt viele verschiedene Punkte, bei denen ich für Tipps und Hinweise sehr dankbar bin:
  • Security first: Anwendungen ins Netz zu stellen und Ports der FritzBox zu öffnen birkt ja immer ein gewisses Sicherheitsrisiko. Prinzipiell müsste ich doch fast alle Dienste auch so konfigurieren können, dass ich diese nur im internen Netzwerk zur Verfügung stelle und den FritzBox VPN z.B. auf dem Laptop und Smartphone benutze, wenn ich von unterwegs Zugriff benötige, oder?
  • Sollte die Wahl auf den Zugriff von außerhalb fallen, würde ich mich gerne mehr mit Traefik befassen. (vielleicht weiß das jmd hier schon aus dem Stehgreif: Kann ich damit auch die internen Adressen der Services (e.g. Nextcloud, PiHole, GitLab, Etherpad, DokuWiki) "steuern"?)
  • Von der Nextcloud kenne ich bereits die Probleme mit NAT Loopback und DNS Servern (in der Fritzbox die Adresse des Nextcloud-Raspberries eingetragen, welcher mit dnsmasq dann zum DNS auflöst. Oder mit einem zusätzlichen PiHole im Netzwerk, welches dann als DHCP fungieren muss, damit das interne Routing zur Nextcloud funktioniert aber Anfragen trotzdem vom PiHole gefiltert werden (und die Nextcloud trotzdem intern über die externe Adresse erreichbar ist)
    • Alles ein etwas mühseeligeres Unterfangen (bei dem ich aber bereits einige habe lernen können) - kennt hier jmd. eventuell eine gute Quelle, um das nochmals aufzufrischen oder eventuell sogar zu "simulieren
    • Da es am Ende ja nur ein Gerät sein wird, könnte ich alles über dies machen - meine aber insb. im Zusammenhang mit dem PiHole gelesen zu haben, dass dies besser vermieden werden solle (galt als reine Installation, verhält sich das mit Docker anders?)
    • Oder hat jmd. eventuell einen konkreten Vorschlag, wie man dies gut umsetzen könnte oder Tools, die man hierzu noch in Betracht ziehen sollte?
  • Falls ich mir irgendwann auch mal einen Fernseher oder Beamer zulege, kämen noch Sachen wie Plex oder Kodi und Emulatoren hinzu, daher auch die Frage der Hardware Potenz (4GB Ram oder lieber 8GB)
So, bevor der Text noch länger wird, mache ich hier erst einmal einen Schlussstrich - ich freue mich über eure Hinweise und Kritikpunkte, und natürlich über sämtliche Tipps und Ratschläge.
 
  • Anwendungen "ins Netz" zu stellen ist halt so sicher oder eben unsicher wie man die Anwendung konfiguriert bzw absichert. Genau so kannst ein VPN mit der Fritzbox als wenig sicher betrachten, da AVM nach wie vor weder Authenticated Header noch Perfect Forward Security unterstützt und aus vermeintlichen "Kompatibilitätsgründen" zur digitalen Steinzeit u.a. DES und 3DES als Ciphers und MD5 und SHA1 als Hash-Algorithmen verwendet.
  • Was meinst du mit "internen" Adressen? IPs? DNS? Traefik ist ein ReverseProxy/Loadbalancer. Auch passiert erst einmal beim normalen Betrieb kein magisches Security-Voodoo. Security Headers (CSP, XSS, etc) musst schon selbst konfigurieren.
    Grundlegend musst du schon selbst sagen, welche DNS-Einträge auf den traefik zeigen sollen. Der leitet die Anfragen dann je nachdem welche URL aufgerufen wurde, intern an den entsprechenden Container oder was auch immer du dahinter stehen hast.
  • Das ist kein Problem mit Nextcloud sondern ein generelles DNS-Problem. Wenn ein Dienst aus internem (LAN) und externen (WAN) Netz unter der gleichen Adresse erreichbar sein soll, dann musst du eben Split-DNS korrekt konfigurieren. Solche Anforderungen hat man aber eher nicht zuhause, ergo kann eine "Zuhause-Lösung" wie die Fritzboxen sowas nicht. Bonus-Negativ-Punkte weil AVM nach wie vor bei seinen Geräten (fritz).box als interne Domain nutzt, .box aber seit über 2 Jahren eine gültige Domain ist.
    Wenn du also zuhause als auch unterwegs ohne VPN Nextcloud oder andere Dienste nutzen willst, musst Split-DNS sauber konfigurieren. Das geht z.B. mit dnsmasq, unbound, bind und/oder anderen brauchbaren DNS-Diensten.
  • PiHole, wie jede andere per maximal unsicherem "curl | sh" zu installierende fertige Lösung funktioniert natürlich nur, wenn man nicht in der Konfiguration herum pfuscht oder parallel noch andere Dienste installieren will. Es bleibt halt nur einfach und simpel wenn man es einzeln betreibt. Funktioniert halt nur nicht immer... Mit Docker wiederum ist es ja voneinander abgetrennt. Das gilt aber für jede Art der Trennung. Sei es per "Applikationsvirtualisierung" sprich docker, rkt, lxc o.ä. oder per klassischer Virtualisierung mit VMware/HyperV/KVM/QEMU/Virtualbox etc.
  • Bitte wirf hier blind irgendwelche Begriffe und Programme zusammen. Plex und Kodi verfolgen völlig unterschiedliche Ansätze und haben daher auch völlig unterschiedliche Anforderungen und auch innerhalb einer Anwendung gibt es andere Anforderungen. Plex braucht relativ wenig Ressourcen außer du willst die Transcodierungsfunktionalität nutzen, dann brauchst du natürlich viel mehr Ressourcen, v.a. aber mehr CPU und nicht unbedingt RAM. Da wird es erst spannend wie viele Anwendungen du wirklich gleichzeitig betreiben willst, wie viele Datenbanken und wie groß werden die etc.
Zur Hardware: Was erhoffst du dir von einem Raid 1? Hast du so hohe Verfügbarkeitsanforderungen? Wenn ja: Wieso dann nur eine m2 SSD? Wie sieht deine Backupstrategie aus?
 
  • Das es keine 1-Klick Sicherheit geben wird, ist mir durchaus bewusst. Ich werde mir hier noch OpenVPN anschauen, vielleicht ist das eine bessere Alternative zum FritzBox VPN.
  • Mit der Adresse habe ich mich sehr schlecht ausgedrückt. Soweit ich bereits eingelesen bin, kann man mit Traefik ja z.B. die Dienste so addressierbar machen, dass man alles unter dem Schema domain/dienstname (meineadresse.com/Nextcloud) erreichbar macht. Hier wäre interessant, ob soetwas auch mit den im Netzwerk zugeteilten Adressen geht, sodass man statt z.B. 192.172.168.99:443, diese auch unter dem random-domain/dienstname erreichen kann (von intern bzw. verbunden über den VPN)
  • Ich würde das Raid als Speicherort konfigurieren z.B. für die Nextcloud Daten (Videos, Bilder), Emulatoren-Spiele und anderes. Das ganze würde ich auch regelmäßig auf einer externen gelagerten Festplatte sichern. Vom RAID 1 erhoffe ich mir, neben einem Lerneffekt, dass ich die Chance eines Datenverlustes (insb. der Bilder) reduzieren kann.
 
Auch bei OpenVPN muss man regelmäßig alte Ciphers etc deaktivieren.

Ja, natürlich geht dies. Solange du aber eine Fritzbox als DNS und DHCP Dienst nutzt, ist und bleibt deine Domain "zuhause" fritz.box. Wenn du deinem Homeserver dann den Hostname "server" gibst, dann ist dieser in deinem LAN unter server.fritz.box erreichbar. Bei deinen docker-compose files musst dann die entsprechenden Parameter setzen, dass der Dienst bzw. Container nextcloud unter server.fritz.box/nextcloud erreichbar sein soll.

Gegen Datenverlust hilft ein Backup und kein Raid. Ein Raid erhöht nur die Datenverfügbarkeit, sprich reduziert deine Downtime wenn etwas (eine HDD in deinem Fall) ausfällt. Löscht du ein Bild, dann ist es auf beiden Disks weg. Dafür hat man Backups.
 
Zurück
Oben