Selfhosting, wie geht`s einfach?

HeavensBlade

Ensign
Registriert
Feb. 2007
Beiträge
147
Hallo,
ich befinde mich seit geraumer Zeit in einer Zwickmühle.
Es missfällt mir, dass meine Daten bei irgendwelchen Cloud-Anbietern liegen und zwar aus folgenden Gründen:
  • ich habe keine Kontrolle darüber, wer meine Daten einsieht (unabhängig von der Frage ob meine Informationen für irgendjemanden von nutzen sein könnten)
  • Vorfälle wie diese zeigen immer wieder, dass eine Cloud nicht per se sicher, sondern nur der Computer von jemand anderem ist.
  • ich habe keine Möglichkeit, "mal eben" ein Backup meiner Daten zu machen bzw. zu erhalten.
  • hier fand ich mich kürzlich in der Situation, dass Google bald das WhatsApp Backup auf das Drive-Kontingent anrechnet und meine Bilder das Kontigent quasi erschöpfen. Um sicherzustellen, dass meine WhatsApp Backups weiter im Google Drive gesichert werden muss ich spontan 18.000 Bilder in Paketen zu max 500 Stück manuell auszuwählen und herunterladen
Nun habe ich ganz grundsätzlich gefallen an Docker, auf einem Debian Server, und der damit verbundenen Möglichkeit gefunden schnell und einfach einen Container zu starten und Zugriff auf weitere "Cloud-Services" zu haben, dessen Daten ich selber kontrollieren kann.
Mein aktuelles Setup besteht aus einer Zotac Zbox mit
Intel i5-4210Y
8GB Ram
120GB SSD
Aktuell zum Testen im Betrieb sind 3 Anwendungen
  • Code-Server (Damit ich meine Gedanken in Plaintext ausschütten kann, statt wie bisher meine WhatsApp-Gruppe mit mir selbst zu nutzen)
  • Gitea (Zugriff auf meine Repositories, besonderen Gefallen finde ich nun aber auch an Issues in einem Kanban Board, was meinen TrelloAccount ablösen könnte)
  • Node-Red (Geringfügige Heimautomatisierung, nichts wovon unser Leben abhängt)
Alles ist rein lokal erreichbar, bzw. über das VPN der Fritzbox.

Jetzt muss ich feststellen, dass das mit dem selber Kontrollieren der Daten nicht ganz so einfach scheint. Dem Motto "Backups are not backups unless you have tested restoring from them" folgend habe ich mich dran gesetzt meine Gitea Instanz mal eben auf meinem kleinen Server zu sichern und dann in einer VM wieder einzuspielen.
Das ist, wo die Probleme anfangen.
Auf dem Server habe ich Gitea und die dazugehörige Datenbank separat aufgesetzt. In meiner VM per Docker-Compose als Stack. Die Settings innerhalb der App sind also verschieden. Wenn ich jetzt ein Backup einspiele, werden Einstellungen mit übernommen und der Service kann nicht mehr starten.
Vielleicht ist das kein fairer Vergleich und ich sollte nur versuchen Backups zwischen 2 identischen Installationen wiederherzustellen.
Wie dem auch sei, ich würde mir eine Lösung wünschen, die mir gewisse Container, zusammen mit Volumes und allen Einstellungen (z.b. Networks) sichert.
Einen Container zu sichern erscheint mir einfach. Nur hilft das eher wenig, weil ich den nicht verändert habe. Bei den Volumes wird es dann interessant.

TL;DR;
Gibt es eine "One-Click" (auch Bash ist ok) Solution um einen Container zusammen mit den zugehörigen Volumes und Networks zu sichern? Ich möchte ein Archiv, dass ich "as-is" irgendwo einspielen kann.
Muss ich hier auf ein Laufwerks-Backup zurückgreifen? Kann ich das automatisieren?
Brauche ich vielleicht eine Komplette VM pro Anwendung?
Entweder hab ich die "für mich richtige Lösung" noch nicht gefunden oder ich muss mich mit dem Gedanken anfreunden, dass auch KISS weniger "simple" ist, wenn meine Erwartungen steigen.

Betreibt ihr Self-Hosting?
Wie stellt ihr sicher, dass eure Anwendungs-Daten sicher und verfügbar sind?
Wie viel Zeit investiert ihr in die Betriebssicherheit eurer Infrastruktur?
Bitte teilt eure Meinung zu meinen Gedanken. Ich fürchte ich erwarte einfach zu viel bzw. bin nicht bereit genug zu leisten um meine Wünsche zu erfüllen.

Liebe Grüße
André
 
Ich plane auch gerade einen Server zu bauen und habe soweit theoretisch einmal rsync dafür ins Auge gefasst, was im Grunde diese Funktionalität besitzt.

Bei mir wird's aber eine Sammlung an einzelnen VMs auf einem Proxmox.
 
Bisschen Off-Topic:
HeavensBlade schrieb:
  • ich habe keine Kontrolle darüber, wer meine Daten einsieht (unabhängig von der Frage ob meine Informationen für irgendjemanden von nutzen sein könnten)
Du könntest deine Daten mittels Cryptomator verschlüsselt dort ablegen, dann kann der Provider die Daten nicht einsehen, du aber ganz normal darauf zugreifen. Das könnte für dich auch dann interessant sein, wenn du es Self-Hosted betreibst (Stichwort Backup)
 
Moin moin,

vielleicht solltest du dir Gedanken machen, welche service wie Datenbanken etc du brauchst!
Docker ist zwar bequem, aber nachher habe ich 5 verschiedene MySQL Server.
Also besser einen zentralen Server mit mehreren Datenbanken.

Naja, selfhosting klingt erstmal super, aber will man es richtig machen, ist es oft ein Haufen Arbeit.

Für das einfachste Backup, könntest du aber tatsächlich für jede Anwendung (oder Anwendungsgruppe) eine eigene VM machen und dann per snapshots sichern.
Ist halt Hardwareintensiver.

Ich persönlich versuche Anwendungen zu benutzen, wo die Daten als Dateien vorliegen und ich sie einfach per rsync sichern kann.
Besonders komplex sind diese Anwendungen dann natürlich eher nicht :-D

Gruß, Stefan
 
HeavensBlade schrieb:
Betreibt ihr Self-Hosting?
Docker Stack mit Traefik2 (mit OAuth2), DuckDNS (DDNS und Let's Encrypt DNS Challenge) und TOTP für alle wichtigen Dienste (Nextcloud/Guacamole/HomeAssistant). Sind einige Hürden zu nehmen.

Ist immer eine Frage der Vorbereitung und etwas Recherche, dann sind Updates schnell gemacht. Traefik und nextcloud sind etwas zickig, aber nichts unlösbares.

Linux-Host läuft in einer VM und wird regelmäßig per Snapshot gesichert. Wandert als Kopie regelmäßig auf die Bachup-Platte.

Läuft jetzt seit 2 Jahren 365/24/7.
Der_Dicke82 schrieb:
Docker ist zwar bequem, aber nachher habe ich 5 verschiedene MySQL Server.
Hmm, bei mir eine MariaDB für alle Dienste. Nur die DB von Nextcloud will ständig gestreichelt werden.
 
  • Gefällt mir
Reaktionen: Korben2206
Grundsätzlich solltest du dir Gedanken machen was genau du wie sicherst. Hier ist es wichtig zwischen Konfigurationen und Daten zu unterscheiden.
Bei Konfigurationen kann es durchaus sein, das man sie nicht (so einfach) von einem System aufs andere mitnehmen kann (z.B. compose-Dateien -> wenn die lokalen Pfade anders sind, Ports bereits belegt etc.). Ggf. sind hier manuelle Anpassungen notwendig oder man muss eben neu aufsetzen, konfigurieren und dann die Daten wieder einspielen.
Für viele populäre Anwendung gibt es auch Guides welche und wie man die Daten am besten sichert. (z.B. gitea https://docs.gitea.com/next/administration/backup-and-restore).
Bei manchen Docker-Anwendungen reicht es auch einfach das Datenverzeichnis zu sichern.
 
HeavensBlade schrieb:
ich habe keine Kontrolle darüber, wer meine Daten einsieht (unabhängig von der Frage ob meine Informationen für irgendjemanden von nutzen sein könnten)
Wenn du einen halbwegs seriösen Anbieter nutzt, ist deine Cloud und die Daten darin verschlüsselt. Da hat sich in den letzten Jahren enorm etwas getan.
Da hast du sogar die Wahl, ob es eine Ende-zu-Ende-Verschlüsselung gibt, die quasi an deine Apple-ID gekoppelt ist und jedes von dir registrierte Gerät Zugriff hat (du also immer auch das Gerät benötigst) oder ob du den "Standard-Datenschutz" aktiv lässt, dann sind die Daten noch immer verschlüsselt, die Keys dafür liegen aber auf Apple-Servern. Vorteil des Standard-Datenschutz ist halt: Wenn du selbst verkackst, kann dir Apple helfen. Beim erweiterten Datenschutz bist du, wenn du die Schlüssel verlierst, am A****.
https://support.apple.com/de-de/102651


Ähnliches dürfte halt auch bei anderen Anbietern möglich sein. Ergänzend kannst du natürlich auch lokal verschlüsseln und die Daten halt direkt verschlüsseln in die Cloud synchronisieren....
Es gibt also viele Möglichkeiten.

Für "einfache" Daten reicht mir persönlich die Cloud. Super wichtige Daten sollte man ja ohnehin mehrfach und sowieso an unterschiedlichen Orten sichern. Bringt mir nichts, die Daten auf meiner SSD im Rechner zu haben und auf der HDD im NAS, wenn meine Wohnung abfackelt, ist beides weg.
 
Zuletzt bearbeitet:
mae1cum77 schrieb:
Hmm, bei mir eine MariaDB für alle Dienste. Nur die DB von Nextcloud will ständig gestreichelt werden.
Ist ja fast mein Vorschlag nur eben mit MariaDB

Was meinst du mit streicheln bei der Nextcloud DB? Aus echtem Interesse, bei mir ist da noch nichts aufgefallen, allerdings nutze ich nextcloud auch (noch) nicht besonders stark.

Gruß, Stefan
 
Der_Dicke82 schrieb:
Was meinst du mit streicheln bei der Nextcloud DB?
Ist allgemein divenhaft und ändert bei Versionsupgrades gern verschiedene Dinge der Config. Letztens kam v29 und hatte dann fehlende Indizes plus eine neue Syntax für Hostnamen (sonst nur IPs und IP-Ranges).

Ist schnell gemacht, braucht aber immer wieder manuelle Eingriffe.
 
  • Gefällt mir
Reaktionen: Der_Dicke82
HeavensBlade schrieb:
Gibt es eine "One-Click" (auch Bash ist ok) Solution um einen Container zusammen mit den zugehörigen Volumes und Networks zu sichern? Ich möchte ein Archiv, dass ich "as-is" irgendwo einspielen kann.
Das einfachste ist den Docker Host komplett als VM auf einem Hypervisor laufen zu lassen und die gesamte VM zu sichern.
Damit hast du sowohl die Container als auch die persistenten Daten gesichert.

Proxmox mit Proxmox Backupserver bietet sich da an. Ich sichere die VMs auf einen USB Stick. Dass USB Stick und SSD gleichzeitig Hops gehen ist unwahrscheinlich, der USB Stick ist nicht gemountet gegen einfache Verschlüsselungstrojaner.

Zukünftig will ich meinen Oracle Cloud Server und meinen Heimserver gegenseitig sichern. Konzept steht aber noch nicht.
Meinen Daten in der Oracle Cloud sind nicht extra verschlüsselt. Würde ich Oracle nicht trauen, würde ich dort nicht hosten.

Theoretisch kannst du auch einfach den kompletten Pfad der persistenten Docker Container Daten per Archiv weg sichern. Habe ich neulich gemacht wegen Umzug von AMD64 auf ARM64 Hardware. War in 2-3 Stunden wieder alles online.
 
Zuletzt bearbeitet:
Alles klar, danke für eure Inputs.

Ich werde mir Proxmox (VE & Backup) mal anschauen.

Was die Sicherung angeht, bin ich (glaube ich) ganz ok aufgestellt.
Die Backups wandern aufs Synology NAS und werden von dort automatisch (mit Synology Hyperbackup) in die Strato Cloud gesichert.
 
kachiri schrieb:
Wenn du einen halbwegs seriösen Anbieter nutzt, ist deine Cloud und die Daten darin verschlüsselt. Da hat sich in den letzten Jahren enorm etwas getan.
Da musst du dennoch den Providern vertrauen, dass es auch so ist. Wer garantiert dir denn, dass die Daten wirklich verschlüsselt sind und wenn sie es sind, dass Apple nicht trotzdem Zugriff hat? Selbst wenn man selbst einen Schlüssel hinterlegen kann... Gewissheit hat man nie.
 
Zurück
Oben