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 eintragenAWS_SECRET_ACCESS_KEY
: Einen sicheren Key eintragenEXTERNAL_LISTEN_HOST
: Lokale Domain oder IP-Adresse der VM im LANANY_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
- Herunterladen: podman-compose.yml (YAML, 10,6 KB)
- Herunterladen: start-podman.sh (Shell Skript, 0,6 KB)
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