Coolify Installation: Anwendungs-Deployment mit Self-Hosted PaaS
Coolify-Installation: Docker- und Git-Integration, Deployment, Datenbanken, SSL und Umgebungsvariablen als selbst gehostete Heroku/Netlify-Alternative.
Uptime Kuma mit Docker installieren: HTTP/TCP/DNS/Ping-Monitoring, Benachrichtigungen über Telegram, Discord und E-Mail, Status-Pages und Alarme.
Uptime Kuma ist ein Self-Hosted Uptime-Monitoring-Tool, das den Betriebsstatus Ihrer Dienste und Websites überwacht. Mit einer schönen Weboberfläche, verschiedenen Monitor-Typen und umfangreichen Benachrichtigungsintegrationen bietet es eine großartige Alternative zu Uptime Robot.
Herausragende Merkmale von Uptime Kuma:
docker run -d \
--name uptime-kuma \
--restart=always \
-p 3001:3001 \
-v uptime-kuma:/app/data \
louislam/uptime-kuma:latest
Nach der Installation:
http://SERVER_IP:3001
# docker-compose.yml
version: '3.8'
services:
uptime-kuma:
image: louislam/uptime-kuma:latest
container_name: uptime-kuma
restart: unless-stopped
ports:
- "3001:3001"
volumes:
- uptime-kuma:/app/data
security_opt:
- no-new-privileges:true
volumes:
uptime-kuma:
docker compose up -d
server {
listen 80;
server_name uptime.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name uptime.example.com;
ssl_certificate /etc/letsencrypt/live/uptime.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/uptime.example.com/privkey.pem;
location / {
proxy_pass http://localhost:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_cache_bypass $http_upgrade;
}
}
Monitor Type: HTTP(S)
Friendly Name: Startseite
URL: https://example.com
Heartbeat Interval: 60 Sekunden
Retries: 3
Accepted Status Codes: 200-299
Monitor Type: TCP Port
Friendly Name: MySQL-Datenbank
Hostname: db.example.com
Port: 3306
Heartbeat Interval: 120 Sekunden
Monitor Type: DNS
Friendly Name: DNS-Prüfung
Hostname: example.com
Resolver Server: 8.8.8.8
DNS Resolve Type: A
Expected Value: 1.2.3.4
Monitor Type: HTTP(S)
URL: https://example.com
# Im SSL-Tab:
Enable SSL Certificate Expiry Notification: AN
Notify Before (days): 30
# 1. Bot über BotFather erstellen
# Bot-Token erhalten: 1234567890:ABCdefGHIjklMNOpqrSTUvwxYZ
# 2. Chat-ID ermitteln
curl https://api.telegram.org/bot<TOKEN>/getUpdates
# Wert "chat":{"id":123456789} notieren
Notification Type: Telegram
Bot Token: 1234567890:ABCdefGHIjklMNOpqrSTUvwxYZ
Chat ID: 123456789
# Webhook in Discord erstellen:
# Server-Einstellungen → Integrationen → Webhooks → Neuer Webhook
# Webhook-URL kopieren
Notification Type: Discord
Discord Webhook URL: https://discord.com/api/webhooks/...
Username: Uptime Kuma
Notification Type: Email (SMTP)
From Email: alerts@example.com
To Email: admin@example.com
SMTP Host: smtp.gmail.com
SMTP Port: 587
SMTP Username: alerts@example.com
SMTP Password: app-passwort
Security: STARTTLS
status.example.com# Status-Page-Einstellungen:
Title: Dienststatus
Description: Echtzeit-Status aller unserer Dienste
Theme: Auto (Hell/Dunkel)
Custom Domain: status.example.com
Maintenance → Add Maintenance
Title: Wöchentliche Wartung
Strategy: Recurring
Start Time: Sonntag 02:00
End Time: Sonntag 04:00
Timezone: Europe/Berlin
Affected Monitors: Alle Monitore
docker stop uptime-kuma
docker rm uptime-kuma
docker pull louislam/uptime-kuma:latest
docker run -d \
--name uptime-kuma \
--restart=always \
-p 3001:3001 \
-v uptime-kuma:/app/data \
louislam/uptime-kuma:latest
# Uptime Kuma-Daten sichern
docker exec uptime-kuma tar -czf /tmp/backup.tar.gz /app/data
docker cp uptime-kuma:/tmp/backup.tar.gz ./uptime-kuma-backup-$(date +%Y%m%d).tar.gz
Sie können alle auf Ihren REXE-Servern laufenden Dienste mit Uptime Kuma überwachen. Mit Telegram-Benachrichtigungen werden Sie sofort über Dienstausfälle informiert.
Öffnen Sie Port 3001 in der Firewall: 'ufw allow 3001/tcp'. Überprüfen Sie, ob der Container läuft mit 'docker ps | grep uptime-kuma'. Wenn Sie Nginx Reverse Proxy verwenden, überprüfen Sie die proxy_pass-Einstellungen und das SSL-Zertifikat.
Überprüfen Sie, ob das Bot-Token korrekt ist. Führen Sie 'curl https://api.telegram.org/bot<TOKEN>/getUpdates' aus, um die Chat-ID zu überprüfen. Sie müssen dem Bot mindestens eine Nachricht gesendet haben. Wenn Sie eine Gruppe verwenden, fügen Sie den Bot zur Gruppe hinzu und machen Sie ihn zum Admin. Verwenden Sie die 'Test'-Schaltfläche in den Benachrichtigungseinstellungen.
Überprüfen Sie die Einstellung 'Accepted Status Codes' (Standard: 200-299). Wenn Ihre Website 301/302-Weiterleitungen zurückgibt, fügen Sie diese ebenfalls hinzu. Wenn ein SSL-Zertifikatsfehler vorliegt, aktivieren Sie die Option 'Ignore TLS/SSL error'. Erhöhen Sie den Timeout. Überprüfen Sie, ob die Website vom Server, auf dem Uptime Kuma läuft, erreichbar ist.
Geben Sie Ihren Domain-Namen in das Feld 'Custom Domain' in den Status-Page-Einstellungen ein (z.B. status.example.com). Erstellen Sie einen CNAME-Eintrag im DNS: status.example.com → uptime.example.com. Wenn Sie Nginx Reverse Proxy verwenden, fügen Sie einen neuen Server-Block hinzu. Holen Sie sich ein SSL-Zertifikat mit Let's Encrypt.
Erhöhen Sie das Heartbeat-Intervall (120-300 Sekunden statt 60). Deaktivieren Sie unnötige Monitore. Weisen Sie dem Uptime Kuma-Container mehr Ressourcen zu. Die SQLite-Datenbank kann bei wachsender Größe langsamer werden; bereinigen Sie regelmäßig alte Einträge. Verwenden Sie die Option 'Settings → Database → Shrink Database'.
Gehen Sie beim Erstellen oder Bearbeiten eines HTTP(S)-Monitors zum Tab 'SSL'. Aktivieren Sie die Option 'Enable SSL Certificate Expiry Notification'. Legen Sie fest, wie viele Tage im Voraus Sie benachrichtigt werden möchten (z.B. 30 Tage). Stellen Sie sicher, dass Ihr Benachrichtigungskanal (Telegram, E-Mail usw.) konfiguriert ist.
Coolify-Installation: Docker- und Git-Integration, Deployment, Datenbanken, SSL und Umgebungsvariablen als selbst gehostete Heroku/Netlify-Alternative.
Nextcloud-Installation mit Docker, Nginx-Konfiguration, Datenbankeinrichtung, SSL-Zertifikat, Dateisynchronisierung, App-Store und Leistungsoptimierung.
Portainer CE installieren: Docker- und Kubernetes-Verwaltung, Stack-Deployment, Volumes und Netzwerke, Benutzerrechte und GitOps-Integration.