Zurück zum Blog

Rocket.Chat und Nextcloud selbst hosten auf DigitalOcean: Schritt-für-Schritt-Anleitung

1. März 20265 Min.
Verwaltete Cloud-Apps

Ein praxisnaher Leitfaden zu sicherer, kosteneffizienter Open-Source-Infrastruktur

Für wachsende Unternehmen können SaaS-Abonnements still und leise zu einem der größten Posten im Technologiebudget werden. Ein Team, das für Slack und Dropbox zahlt, kann leicht Hunderte oder Tausende Dollar pro Nutzer und Jahr ausgeben — noch bevor Speicher-Überschreitungen oder Enterprise-Add-ons dazukommen. Es geht auch besser.


Die Anwendungen bereitstellen

Der 1-Click-App-Marketplace von DigitalOcean konfiguriert Abhängigkeiten und Grundeinstellungen vor. Das Starten eines Droplets dauert nur wenige Minuten — 1-Click ist ein Ausgangspunkt, kein fertiges Deployment.

🚀 Rocket.Chat — Selbstgehostetes Team-Messaging

  • Funktional vollständige Alternative zu Slack und Microsoft Teams
  • Kanäle, Direktnachrichten, Videokonferenzen (Jitsi), Dateifreigabe, Bots und eine vollständige REST-API
  • Ein Droplet für 24 $/Monat (4 GB RAM) bewältigt Teams mit unter 50 Nutzern
  • SMTP konfigurieren (Admin → Settings → Email), damit Passwort-Resets und Benachrichtigungen die Nutzer erreichen
  • Offene Registrierung einschränken (Admin → Settings → Accounts → Registration → Disabled)
  • Für größere Teams: MongoDB auf eine DigitalOcean Managed Database verschieben

☁️ Nextcloud — Dateisynchronisierung, Freigabe und Zusammenarbeit

  • Die am weitesten verbreitete selbstgehostete Dateiplattform
  • Dokumenten-Zusammenarbeit (Collabora oder OnlyOffice), Kalender, Kontakte, Videoanrufe und ein umfangreiches App-Ökosystem
  • Dateispeicher von Anfang an auf DigitalOcean Spaces zeigen lassen — eine spätere Migration ist aufwendig
  • Hintergrund-Jobs von AJAX auf System-Cron umstellen (Admin → Basic Settings → Background Jobs)

Produktionskonfiguration

Wenden Sie diese Einstellungen vor dem Go-Live auf jedes Deployment an. Sie sind nach Priorität geordnet.

Firewall-Regeln und SSL

  • DigitalOcean-Droplets haben standardmäßig alle Ports offen
  • Das Anlegen einer Cloud Firewall ist der wichtigste einzelne Härtungsschritt — dies sofort nach dem Start erledigen
  • Jede App vor dem Go-Live mit einem Let's-Encrypt-Zertifikat über Certbot absichern
▶ show code
# Firewall Configuration
# 1. Create a Cloud Firewall in the DigitalOcean control panel:
#    Networking → Firewalls → Create Firewall
#    Inbound rules: TCP 80, TCP 443, TCP <your-ssh-port>

# 2. Harden SSH on the Droplet
sudo nano /etc/ssh/sshd_config
# Set:  Port 2222          (or any non-default port)
# Set:  PasswordAuthentication no
# Set:  PubkeyAuthentication yes

sudo systemctl restart ssh

# 3. Assign the firewall to your Droplet in the control panel

# 4. Install Certbot (Ubuntu + Nginx)
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com

# Verify auto-renewal
sudo certbot renew --dry-run
sudo systemctl status certbot.timer

Backups

  • Wöchentliche Droplet-Backups aktivieren — standardmäßig aus, kostet ~20 % des monatlichen Droplet-Preises
▶ show code
# Backups Configuration
# Enable backups: DigitalOcean control panel → Droplet → Backups → Enable
# Cost: ~20% of the Droplet monthly price

Monitoring und Uptime

  • Den DigitalOcean-Metrics-Agent installieren, um CPU-, Speicher- und Disk-Alarme zu ermöglichen
  • Uptime-Checks einrichten, bevor sich Nutzer auf den Dienst verlassen — kostenlos im Control Panel
  • UptimeRobot bietet Checks aus mehreren Regionen und eine öffentliche Status-Seite
▶ show code
# Monitoring Configuration
# Install the DigitalOcean metrics agent
curl -sSL https://repos.insights.digitalocean.com/install.sh | sudo bash

# Set alert policies in the control panel:
#   Droplet → Monitoring → Create Alert Policy
#   Thresholds: CPU > 80%, Memory > 85%, Disk > 80%
#   Notify via: email or Rocket.Chat webhook

# Enable Uptime Checks (free):
#   Monitoring → Uptime → Create Check → HTTP/HTTPS
# Add UptimeRobot (uptimerobot.com) for multi-region checks + status page

Netzwerk, Datenbank und Logging

  • Eine Reserved IP verwenden, damit die Adresse Droplet-Größenänderungen und Neuaufbauten übersteht
  • Alle Droplets in einer VPC platzieren, damit interner Traffic nicht ins öffentliche Internet gelangt
  • Logs an einen Managed Service senden, damit sie einen Droplet-Neuaufbau überstehen und serverübergreifend durchsuchbar sind
  • Lokale Log-Dateigrößen mit logrotate begrenzen, um Disk-Erschöpfung zu vermeiden
▶ show code
# Networking, Database & Logging Configuration
# Reserved IP — survives Droplet resizes and rebuilds
#   Networking → Reserved IPs → Create → Assign to Droplet

# VPC — keeps internal traffic off the public internet
#   Networking → VPCs → Create VPC
#   Move all Droplets for this project into the same VPC

# Managed Database (Rocket.Chat — MongoDB)
#   Databases → Create → MongoDB → Select plan ($15/mo base)
#   Update Rocket.Chat: set MONGO_URL env var to the managed DB connection string

# Managed Database (Nextcloud — MySQL or PostgreSQL)
#   Update config.php with the new managed DB host, user, and password

# Spaces for Nextcloud file storage (start here — migrating later is complex)
#   Spaces → Create Space → copy endpoint URL and access keys
#   Nextcloud admin panel → External Storage → Add S3-compatible storage

# Centralized logging — forward logs to Papertrail via rsyslog
sudo apt install rsyslog -y
echo "*.* @logs.papertrailapp.com:XXXXX" | sudo tee -a /etc/rsyslog.conf
sudo systemctl restart rsyslog

# Cap local log file sizes with logrotate
sudo nano /etc/logrotate.d/apps
# weekly / rotate 4 / compress / missingok

# Monitor Rocket.Chat MongoDB logs (database errors surface here first)
sudo tail -f /var/log/mongodb/mongod.log

Deutliche Kosteneinsparungen gegenüber SaaS-Alternativen

Cost Comparison — 25-Person Team

SaaS subscriptions vs. self-hosted stack on DigitalOcean

💸SaaS Subscriptions

Slack Pro

$7.25/user/month × 25

$181/mo

Dropbox Business

$15/user/month × 25

$375/mo
Total

$556/mo

$6,672/yr

🖥️Self-Hosted on DigitalOcean

Rocket.Chat Droplet

4 GB RAM

$24/mo

Nextcloud Droplet + Spaces

2 GB RAM + object storage

$18–30/mo
Total

~$42–54/mo

$504–$648/yr

🎯

~$6,000

saved per year for 25 people — savings that scale as headcount grows

Kontakt aufnehmen

Interesse an einem Thema? Hinterlassen Sie eine Nachricht und wählen Sie eine Kategorie. Ich stehe auch für ein kostenloses Beratungsgespräch zur Verfügung — melden Sie sich und wir vereinbaren etwas.