grieblmedia

Installation von Any-Sync für Anytype mit Proxmox und Podman.

Veröffentlicht: 19. April 2025

Any-Sync ist die Server-Komponente, die es ermöglicht, Ihre Anytype-Daten zwischen verschiedenen Geräten zu synchronisieren. In diesem Artikel erfahren Sie, wie Sie Ihren eigenen Any-Sync-Server mit Proxmox und Podman einrichten können, um die Kontrolle über Ihre Daten zu behalten.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Zugang zu einem Proxmox-Server haben und grundlegende Kenntnisse im Umgang mit Linux-Systemen besitzen.

Schritt 1: Virtuelle Maschine in Proxmox erstellen

Da Any-Sync mit Podman im rootless-Modus betrieben wird, ist eine VM die bessere Wahl als ein LXC-Container. Konfigurieren Sie die VM mit folgenden Spezifikationen:

  • 1-2 CPU-Kerne
  • Mindestens 2 GB RAM
  • Ausreichend Festplattenspeicher für Ihre Vault-Daten
  • Einen AVX-fähigen CPU-Typ (z.B. QEMU x86-64-v4)

Schritt 2: Betriebssystem installieren

Installieren Sie ein Linux-Betriebssystem Ihrer Wahl (z.B. Debian 12) auf der VM. Nach der Installation überprüfen Sie, ob die CPU mit MongoDB 7 kompatibel ist:

grep avx /proc/cpuinfo

Falls keine AVX-Unterstützung angezeigt wird, müssen Sie ein Downgrade von MongoDB gemäß der Any-Sync-Anleitung durchführen.

Schritt 2.1: Unprivilegierten Benutzer anlegen (optional)

Da Podman im rootless-Modus betrieben werden kann, empfiehlt es sich, einen unprivilegierten Benutzer anzulegen. Dies verbessert die Sicherheit des Systems. Führen Sie dazu folgende Befehle aus:

# Neuen Benutzer anlegen
sudo adduser anysync

# Benutzer zur sudo-Gruppe hinzufügen, um bei Bedarf Administratorrechte zu erhalten
sudo usermod -aG sudo anysync

# Zum neuen Benutzer wechseln
su - anysync

Alle weiteren Schritte werden nun als dieser unprivilegierte Benutzer ausgeführt.

Schritt 3: Podman und andere Abhängigkeiten installieren

Installieren Sie Podman, Podman-Compose und Git aus den Repositories:

sudo apt install podman podman-compose git

Stellen Sie sicher, dass Podman in Version 4.2 oder höher installiert ist.

Aktivieren Sie den Linger-Modus für Ihren Benutzer, damit Podman-Container nach dem Abmelden weiterlaufen:

sudo loginctl enable-linger BENUTZERNAME_NICHT_ROOT

Schritt 4: Docker.io als Registry hinterlegen

Erstellen Sie eine Konfigurationsdatei für die Docker-Registry:

sudo mkdir -p /etc/containers/registries.conf.d/
sudo tee /etc/containers/registries.conf.d/docker.conf > /dev/null << 'EOF'
[registries.search]
registries = ["docker.io"]
EOF

Schritt 5: Any-Sync Repository klonen

Klonen Sie das Any-Sync-Docker-Compose-Repository:

git clone https://github.com/anyproto/any-sync-dockercompose
cd any-sync-dockercompose

Schritt 6: Konfigurationsdateien vorbereiten

Sichern Sie die originale docker-compose.yml und erstellen Sie eine Version für Podman:

mv docker-compose.yml docker-compose.yml.bkp

Erstellen Sie eine podman-compose.yml wie angefügt.

Erstellen Sie ein Start-Skript für Podman start-podman.sh wie angefügt:

Machen Sie das Skript ausführbar:

chmod +x start-podman.sh

Schritt 7: Konfiguration anpassen

Kopieren Sie die Standardkonfigurationsdatei und passen Sie sie an:

cp .env.default .env.override

Bearbeiten Sie die .env.override-Datei und passen Sie folgende Einstellungen an:

  • AWS_ACCESS_KEY_ID: Einen sicheren Key eintragen
  • AWS_SECRET_ACCESS_KEY: Einen sicheren Key eintragen
  • EXTERNAL_LISTEN_HOST: Lokale Domain oder IP-Adresse der VM im LAN
  • ANY_SYNC_FILENODE_DEFAULT_LIMIT: Benötigter Speicherplatz in Bytes für die Vaults (passend zur VM disk Größe)
  • Ports auf Werte über 1024 ändern (z.B. 3001, 3002, etc.), da Podman im rootless-Modus läuft

Hier ein Beispiel für die angepassten Einträge:

EXTERNAL_LISTEN_HOST=192.168.1.100
ANY_SYNC_FILENODE_DEFAULT_LIMIT=10737418240
ANY_SYNC_NODE_1_PORT=3001
ANY_SYNC_NODE_1_QUIC_PORT=3011
ANY_SYNC_NODE_2_PORT=3002
ANY_SYNC_NODE_2_QUIC_PORT=3012
ANY_SYNC_NODE_3_PORT=3003
ANY_SYNC_NODE_3_QUIC_PORT=3013
ANY_SYNC_COORDINATOR_PORT=3004
ANY_SYNC_COORDINATOR_QUIC_PORT=3014
ANY_SYNC_FILENODE_PORT=3005
ANY_SYNC_FILENODE_QUIC_PORT=3015
ANY_SYNC_CONSENSUSNODE_PORT=3006
ANY_SYNC_CONSENSUSNODE_QUIC_PORT=3016

Schritt 8: Any-Sync starten

Führen Sie das Start-Skript aus:

./start-podman.sh

Schritt 9: Überprüfen der Installation

Warten Sie, bis der Container any-sync-netcheck als “healthy” gemeldet wird. Sie können den Status mit folgendem Befehl überprüfen:

podman ps

Schritt 10: Client-Konfiguration für Anytype

Sobald alle Container laufen und der any-sync-netcheck-Container “healthy” ist, kopieren Sie die Datei etc/client.yml auf Ihren lokalen Desktop:

# Auf Ihrem lokalen Computer ausführen, nicht auf dem Server
scp benutzername@server-ip:~/any-sync-dockercompose/etc/client.yml .

Diese Datei können Sie nun in der Anytype Desktop-App (über das kleine Zahnrad in der oberen rechten Ecke) und in der Anytype Mobile-App verwenden, um eine Verbindung zu Ihrem selbst gehosteten Any-Sync-Server herzustellen.

Fazit

Sie haben erfolgreich einen eigenen Any-Sync-Server für Anytype mit Podman und Proxmox eingerichtet. Dies gibt Ihnen die volle Kontrolle über Ihre Daten und ermöglicht die Synchronisation zwischen verschiedenen Geräten, ohne auf externe Dienste angewiesen zu sein.

Regelmäßige Backups der virtuellen Maschine werden empfohlen, um Datenverlust zu vermeiden. Ebenso sind Updates der Containern Images unerlässlich. Dies ist jedoch nicht inhalt dieser Doku.

Downloads

Disclaimer

Erstellt von Oliver Griebl | grieblmedia GmbH (www.grieblmedia.de) sowie claude.ai . Verwenden und teilen Sie diese Doku wie Sie möchten aber ohne Garantie, Haftung oder Gewährleistung. Siehe: MIT-Lizenz

 Weitere Posts