# Beeper Bridges - Docker Setup Dieses Projekt verwaltet selbst-gehostete Matrix-Bridges für Beeper mittels Docker Compose. ## Struktur - `docker-compose.yml`: Definition der Dienste (WhatsApp, Telegram, Signal, Google Chat). - `data/`: Persistente Daten für die Bridges (Configs + SQLite Datenbanken). - `migrate.sh`: Hilfsskript zum Importieren bestehender lokaler Installationen. ## Installation ### Option A: Migration bestehender Daten Wenn du die Bridges vorher manuell (ohne Docker) betrieben hast, nutze das Skript, um Configs und Datenbanken zu importieren. Das Skript passt automatisch die Datenbank-Pfade für Docker an. ```bash ./migrate.sh ``` ### Option B: Neuinstallation (Greenfield) Wenn du noch keine lokalen Bridges hast: 1. **Ordnerstruktur anlegen:** (Wird automatisch durch git clone erledigt, da .gitkeep Dateien existieren) 2. **Standard-Configs generieren:** Starte die Container kurz, damit sie die Standard-`config.yaml` Dateien erzeugen. Die Container werden sich danach beenden oder neustarten, weil die Registrierung fehlt. ```bash docker compose up ``` *Hinweis: Breche den Vorgang mit `Ctrl+C` ab, sobald die Configs erstellt wurden.* 3. **Registrierung (WICHTIG):** Damit Beeper die Bridges akzeptiert, benötigst du für jede Bridge eine `registration.yaml`. Diese erstellst du am besten mit dem offiziellen Tool [`bbctl`](https://github.com/beeper/bridge-manager) lokal auf deinem Rechner. Beispiel: ```bash bbctl register whatsapp mv registration.yaml data/whatsapp/ ``` 4. **Konfiguration anpassen:** Bearbeite die `data//config.yaml` falls nötig. Achte darauf, dass `sqlite:////data/bridge.db` als Datenbankpfad gesetzt ist. ## Starten Startet alle Bridges. ```bash # Im Hintergrund (Daemon) docker compose up -d # Oder um alle Logs direkt zu sehen (zum Debuggen) docker compose up ``` ## Logs & Login Falls du dich neu anmelden musst (QR-Code Scan), findest du den Code in den Logs oder im Beeper "Bridge Bot" Chat. ```bash docker compose logs -f whatsapp ``` ## Wartung **Update der Bridges:** ```bash # Zieht die Images nacheinander (vermeidet Timeouts) docker compose pull # Startet neu docker compose up -d ``` **Backup:** Sichere einfach den kompletten `data/` Ordner. Er enthält alle Sitzungen und Schlüssel.