Skip to main content

Server-Details

EigenschaftWert
IP-Adresse217.154.76.29
BetriebssystemUbuntu 24.04 LTS
CPU2 vCore
RAM2 GB
Storage80 GB NVMe SSD
HosterIONOS (deutsches Rechenzentrum)
Kosten2 €/Monat (24-Monats-Vertrag)

SSH-Zugang

ssh deploy@217.154.76.29
Der Root-Login ist deaktiviert. Nur Key-basierter Login ist erlaubt — kein Passwort.

Neuen SSH-Key hinzufügen

# Einloggen als deploy
ssh deploy@217.154.76.29

# Public Key eintragen
nano ~/.ssh/authorized_keys
# → Key als neue Zeile einfügen, speichern

Installierte Software

SoftwareVersionZweck
Node.js20 LTSRuntime für Worker + API
PM2LatestProzessmanager
Caddy2.11Reverse Proxy + SSL
UFWStandardFirewall

Firewall-Regeln

sudo ufw status
PortProtokollDienst
22/tcpSSHServer-Zugang
80/tcpHTTPCaddy (Redirect → HTTPS)
443/tcpHTTPSCaddy (API)
3000/tcpHTTPExpress API (intern)

Projektstruktur

/home/deploy/email-worker/
├── .env                    # Zugangsdaten (NICHT im Git)
├── .gitignore
├── package.json
├── src/
│   ├── lib/
│   │   └── db.js           # Supabase Client + Logging
│   ├── sync/
│   │   └── worker.js       # IMAP Sync Worker
│   └── api/
│       └── server.js       # SMTP Versand-API
├── test-imap.js            # IMAP-Verbindungstest
├── test-smtp.js            # SMTP-Verbindungstest
└── test-folders.js         # IMAP-Ordner auflisten

Kein Backup-System

Der VPS hat kein Hoster-Backup. Das ist bewusst so:
  • Daten liegen in Supabase, nicht auf dem VPS
  • Code liegt in GitHub (bg-gastro/email-worker)
  • Konfiguration (.env) muss separat gesichert werden
Bei einem Server-Crash: Neuen VPS aufsetzen, Repository klonen, .env wiederherstellen, PM2 starten. Geschätzte Wiederherstellungszeit: 30 Minuten.