Schnelleinstieg
Dies ist der schnellste Weg von null zu einer laufenden Openbeehive-Instanz, die du im Browser öffnen kannst. Wähle eine von zwei Routen:
- Variante A — Einzelne Binärdatei. Baue eine eigenständige Binärdatei, die SQLite und das lokale Dateisystem nutzt. Kein Docker, kein Datenbankserver, kein Objektspeicher. Ideal für einen Heimserver, einen Raspberry Pi oder einen kleinen VPS.
- Variante B — Docker. Lade unser veröffentlichtes Image herunter und starte es mit einem einzigen Befehl.
Beide Routen verwenden das Bereitstellungsprofil selfhost, das standardmäßig eine eingebettete SQLite-Datenbank und Blob-Speicher im Dateisystem nutzt. Du kannst später auf PostgreSQL und MinIO/S3 umstellen — siehe Konfiguration.
:::tip Einzelnutzer? Keine Anmeldung nötig
Wenn du die einzige Person bist, die deine Instanz nutzt, kannst du sie ganz ohne Authentifizierung betreiben. Lass einfach BEEHIVE_OIDC_PROVIDERS leer und behalte BEEHIVE_WEBAUTHN_ENABLED=false bei (beides sind die Standardwerte). Die App öffnet direkt deine Aufzeichnungen. Um später eine Anmeldung hinzuzufügen, siehe Authentifizierung.
:::
Die kleinstmögliche funktionierende Konfiguration
Welche Route du auch wählst, für den Einstieg sind wirklich nur zwei Einstellungen wichtig:
BEEHIVE_DEPLOYMENT_PROFILE=selfhost
BEEHIVE_PUBLIC_BASE_URL=http://localhost:8080
BEEHIVE_PUBLIC_BASE_URL ist die Adresse, über die Personen (und QR-Code-Deeplinks) die App erreichen. Zum lokalen Testen ist http://localhost:8080 in Ordnung. Für eine echte Bereitstellung setze sie auf deine öffentliche URL, zum Beispiel https://bees.example.com.
Alles andere hat sinnvolle Standardwerte für das Self-Hosting. Die vollständige Liste findest du unter Konfiguration.
Variante A — Einzelne Binärdatei (kein Docker)
Voraussetzungen
- Go 1.25 oder neuer
- Node 22 oder neuer
- buf
Bauen und ausführen
git clone https://github.com/johnnycube/openbeehive-app.git
cd openbeehive
# Generate the Connect-RPC code, then build the server
make proto
make build
# Configure
cp .env.example .env
# Edit .env: set BEEHIVE_DEPLOYMENT_PROFILE=selfhost and BEEHIVE_PUBLIC_BASE_URL
# Run
./server/bin/openbeehive
Standardmäßig lauscht die Binärdatei auf :8080 und liefert die Web-App selbst aus (BEEHIVE_SERVE_WEB=true), sodass die API und die PWA vom selben Ursprung kommen. Öffne die Adresse aus BEEHIVE_PUBLIC_BASE_URL und du bist drin.
:::note Wo deine Daten liegen
Im selfhost-Modus landen deine Aufzeichnungen in einer lokalen SQLite-Datei und hochgeladene Fotos in einem Blob-Verzeichnis (standardmäßig ./data/blobs). Sichere diese und du hast alles gesichert — siehe Backups.
:::
Variante B — Docker
Wenn du Docker installiert hast, ist dies der schnellste Weg überhaupt. Das veröffentlichte Image ist ghcr.io/johnnycube/openbeehive-app:latest.
docker run -d \
--name openbeehive \
-p 8080:8080 \
-e BEEHIVE_DEPLOYMENT_PROFILE=selfhost \
-e BEEHIVE_PUBLIC_BASE_URL=http://localhost:8080 \
-v openbeehive-data:/data \
ghcr.io/johnnycube/openbeehive-app:latest
Das Volume -v openbeehive-data:/data hält deine SQLite-Datenbank und Blobs außerhalb des Containers, sodass sie Upgrades und Neustarts überstehen. Sobald es läuft, öffne http://localhost:8080.
So stoppst oder entfernst du es:
docker stop openbeehive
docker rm openbeehive
:::tip Lieber Cloud-Stack?
Die obigen Befehle starten das schlanke selfhost-Profil. Wenn du das vollständige cloud-Profil (PostgreSQL + MinIO) möchtest, liefert das Repository eine Compose-Datei mit — führe docker compose up -d aus. Details findest du unter Docker.
:::
Erste Schritte nach der Installation
Du hast nun eine funktionierende Instanz. Von hier aus:
- Öffne die App unter deiner
BEEHIVE_PUBLIC_BASE_URLund lege deinen ersten Bienenstand an. - Füge einen Bienenstock hinzu, wähle seinen Typ und erfasse eine Durchsicht.
- Drucke optional ein QR-Etikett für den Bienenstock, damit du im Feld direkt dorthin scannen kannst.
Für eine Tour durch die App selbst gehe zu Die App verwenden. Um deine Instanz produktionsreif zu machen — HTTPS, eine echte Domain, Authentifizierung und Backups — geht es weiter mit:
- Konfiguration — jede Umgebungsvariable erklärt
- Reverse Proxy — TLS und eine Domain davorschalten
- Authentifizierung — OIDC-Anmeldung oder Passkeys hinzufügen
- Backups — deine Aufzeichnungen schützen
:::caution In der Produktion HTTPS verwenden
http://localhost eignet sich nur zum lokalen Testen. Die App ohne TLS im Internet bereitzustellen, gefährdet deine Daten und beeinträchtigt Funktionen, die einen sicheren Kontext erfordern. Setze BEEHIVE_PUBLIC_BASE_URL auf eine https://-Adresse und beende TLS an einem Reverse Proxy, bevor du live gehst.
:::