Rebase auf Hetzner Cloud bereitstellen
Hetzner Cloud ist weithin bekannt für sein unglaubliches Preis-Leistungs-Verhältnis und eine Top-Wahl für Projekte, die strenge europäische Datenhoheit und GDPR-Konformität erfordern (mit Rechenzentren in Nürnberg, Falkenstein und Helsinki).
Die Bereitstellung von Rebase auf Hetzner erfolgt am einfachsten über Docker Compose auf einer Standard-Ubuntu-Cloud-Instanz.
1. Server bereitstellen
Abschnitt betitelt „1. Server bereitstellen“- Melden Sie sich bei Ihrer Hetzner Cloud Konsole an.
- Klicken Sie auf Server hinzufügen.
- Wählen Sie Ihren bevorzugten Standort (z.B. Falkenstein oder Nürnberg).
- Wählen Sie ein Image: Wählen Sie Ubuntu 24.04 oder App -> Docker CE (dies installiert Docker für Sie vor).
- Wählen Sie einen Typ: Ein
CPX21(3 Kerne, 4 GB RAM) oderCX32(4 Kerne, 8 GB RAM) bietet eine ausgezeichnete Basiskapazität für den Betrieb von Rebase + Postgres. - Fügen Sie Ihren SSH-Schlüssel hinzu und klicken Sie auf Erstellen.
2. SSH und Einrichtung
Abschnitt betitelt „2. SSH und Einrichtung“Sobald Ihr Server bereitgestellt ist, rufen Sie die öffentliche IP-Adresse ab.
ssh root@<your-server-ip>Wenn Sie das Docker-Image nicht gewählt haben, installieren Sie Docker und Docker Compose explizit:
apt update && apt install docker.io docker-compose-v2 -y3. Rebase klonen und konfigurieren
Abschnitt betitelt „3. Rebase klonen und konfigurieren“Klonen Sie Ihr Rebase-Projekt direkt auf die Serverinstanz.
git clone https://github.com/your-username/your-rebase-repo.git /opt/rebasecd /opt/rebaseRebase stellt standardmäßig eine docker-compose.yml bereit. Sie müssen Ihre Produktionsumgebungsvariablen definieren. Erstellen Sie eine .env.production Datei:
nano .env.productionFügen Sie Ihre Geheimnisse hinzu:
DATABASE_URL=postgresql://rebase:your_secure_db_password@postgres:5432/rebaseJWT_SECRET=generate_a_very_long_secure_random_string_hereNODE_ENV=productionStellen Sie sicher, dass Sie docker-compose.yml aktualisieren, wenn Sie das Postgres-Passwort aus einer Umgebungsvariablen abrufen möchten.
4. Den Stack ausführen
Abschnitt betitelt „4. Den Stack ausführen“Bringen Sie den Stack im Detached-Modus online:
docker compose --env-file .env.production up -d --buildDocker erstellt Ihr Node.js-Backend aus dem lokalen Dockerfile und startet den Postgres-Container. Nach Abschluss läuft Ihre App auf http://localhost:3001 (intern auf dem Server).
5. Über Caddy oder Nginx verfügbar machen
Abschnitt betitelt „5. Über Caddy oder Nginx verfügbar machen“Sie sollten Port 3001 niemals direkt und ohne SSL dem Internet aussetzen. Wir empfehlen, Caddy vor Ihre Rebase-Instanz zu stellen, um Let’s Encrypt-Zertifikate automatisch bereitzustellen.
Caddy installieren:
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-httpscurl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpgcurl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.listsudo apt update && sudo apt install caddyBearbeiten Sie Ihre Caddyfile:
nano /etc/caddy/CaddyfileFügen Sie Folgendes hinzu (ersetzen Sie dies durch Ihre Domain, deren A-Record auf diese Hetzner IP zeigen sollte):
admin.yourdomain.com { reverse_proxy localhost:3001}Caddy neu starten:
systemctl restart caddyDas war’s! Ihre Rebase-Plattform wird sicher und vollständig innerhalb der EU gehostet.