Zum Inhalt springen

Uptime Kuma

Self-Hosted Uptime Monitoring Tool mit Unterstützung für HTTP, TCP, DNS, Docker und 90+ Notification Services wie Slack, Discord und Telegram.

# Uptime Kuma mit Persistent Storage ausführen
docker run -d \
  --restart=always \
  -p 3001:3001 \
  -v uptime-kuma:/app/data \
  --name uptime-kuma \
  louislam/uptime-kuma:2

# Zugriff unter http://localhost:3001
# Bind nur auf Localhost (kein External Access)
docker run -d \
  --restart=always \
  -p 127.0.0.1:3001:3001 \
  -v uptime-kuma:/app/data \
  --name uptime-kuma \
  louislam/uptime-kuma:2
# Download Official Compose File
mkdir uptime-kuma && cd uptime-kuma
curl -o compose.yaml \
  https://raw.githubusercontent.com/louislam/uptime-kuma/master/compose.yaml

# Service starten
docker compose up -d

# Zugriff unter http://localhost:3001
# Mount Docker Socket für Container Health Monitoring
docker run -d \
  --restart=always \
  -p 3001:3001 \
  -v uptime-kuma:/app/data \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  --name uptime-kuma \
  louislam/uptime-kuma:2
# Anforderungen: Node.js 20.4+, Git

# Clone und Setup
git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
npm run setup

# Direkt starten
node server/server.js

# Oder PM2 für Background Operation verwenden
npm install -g pm2
pm2 start server/server.js --name uptime-kuma
BefehlBeschreibung
docker run -d -p 3001:3001 louislam/uptime-kuma:2Uptime Kuma Container starten
docker compose up -dMit Docker Compose starten
docker compose downAlle Services stoppen
docker compose logs -fContainer Logs folgen
docker restart uptime-kumaContainer neu starten
docker stop uptime-kumaContainer stoppen
docker start uptime-kumaStopped Container starten
node server/server.jsOhne Docker starten
pm2 start server/server.js --name uptime-kumaMit PM2 starten
pm2 restart uptime-kumaMit PM2 neu starten
pm2 stop uptime-kumaMit PM2 stoppen
pm2 logs uptime-kumaPM2 Logs anzeigen
# Neuestes Image pullen
docker pull louislam/uptime-kuma:2

# Aktuellen Container stoppen und entfernen
docker stop uptime-kuma
docker rm uptime-kuma

# Mit neuem Image neu erstellen (Daten persistiert in Volume)
docker run -d \
  --restart=always \
  -p 3001:3001 \
  -v uptime-kuma:/app/data \
  --name uptime-kuma \
  louislam/uptime-kuma:2
# Pull und Recreate
docker compose pull
docker compose up -d
cd uptime-kuma
git fetch --all
git checkout 2.1.3 --force
npm install --production
npm run download-dist
pm2 restart uptime-kuma
TypeBeschreibung
HTTP(S)Monitor Website Availability und Response Time
HTTP(S) KeywordCheck für spezifischen Text im Response Body
HTTP(S) JSON QueryValidate JSON Response Values
TCP PortCheck ob TCP Port offen ist und antwortet
PingICMP Ping für Host Availability
DNSMonitor DNS Record Resolution
Docker ContainerMonitor Container Health Status
Steam Game ServerCheck Game Server Availability
MQTTMonitor MQTT Broker Connectivity
gRPCMonitor gRPC Service Health
RadiusRADIUS Authentication Server Check
GameDigGame Server Monitoring (Multiple Protocols)
PushPassive Monitoring via Heartbeat Endpoint
GroupLogische Gruppierung von Monitors
ServiceBeschreibung
SlackChannel Webhooks und Bot Notifications
DiscordWebhook-basierte Channel Notifications
TelegramBot API Notifications
Microsoft TeamsIncoming Webhook Notifications
MattermostSelf-Hosted Chat Integration
Rocket.ChatWebhook Notifications
Google ChatSpace Webhook Notifications
MatrixDecentralized Chat Notifications
ServiceBeschreibung
PushoverMobile Push Notifications
GotifySelf-Hosted Push Server
ntfyHTTP-basierte Pub/Sub Notifications
PushbulletCross-Device Push Notifications
SignalSecure Messaging Notifications
LINELINE Notify Integration
ServiceBeschreibung
PagerDutyIncident Alerting und On-Call
OpsgenieAlert Management und Escalation
SquadcastIncident Management
Splunk On-CallVictorOps Alert Routing
Better StackUptime und Incident Management
ServiceBeschreibung
SMTP EmailCustom Email Notifications
WebhookCustom HTTP Endpoint Calls
Home AssistantSmart Home Automation Triggers
AppriseUniversal Notification Gateway
VariableBeschreibungDefault
UPTIME_KUMA_PORTServer Port3001
UPTIME_KUMA_HOSTBind Address::
DATA_DIRData Storage Directory./data
TZTimezoneUTC
UMASKFile Permission Mask0000
NODE_EXTRA_CA_CERTSCustom CA Certificates Path
SSL_CERTSSL Certificate Path
SSL_KEYSSL Private Key Path
FeatureBeschreibung
Multiple PagesSeparate Status Pages für verschiedene Services erstellen
Custom DomainsStatus Pages zu Custom Domain Names mappen
Custom CSSStyle Status Pages mit Custom CSS
Incident PostsIncident Reports erstellen, sichtbar auf Status Page
MaintenanceMaintenance Windows schedulen
Monitor GroupsOrganize Monitors in Groups auf Status Page
# Python API Client installieren
pip install uptime-kuma-api
OperationBeschreibung
Add monitorProgrammatisch Monitors erstellen
Edit monitorMonitor Configuration updaten
Delete monitorMonitors entfernen
Pause/ResumeMonitor State Toggle
Get statusCurrent Monitor Status abrufen
Add notificationNotification Providers konfigurieren
Get uptimeUptime Statistics abfragen
# compose.yaml
services:
  uptime-kuma:
    image: louislam/uptime-kuma:2
    container_name: uptime-kuma
    restart: always
    ports:
      - "3001:3001"
    volumes:
      - ./data:/app/data
      # Optional: Docker Container Monitoring
      # - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - TZ=UTC
FeatureBeschreibung
2FATwo-Factor Authentication für Login
Reverse ProxyDeploy hinter Nginx, Caddy oder Traefik
SSL/TLSBuilt-in SSL oder Reverse Proxy Termination
Login Rate LimitingBrute-Force Protection
API KeysToken-basierter API Access
server {
    listen 443 ssl;
    server_name status.example.com;

    location / {
        proxy_pass http://127.0.0.1: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_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
BefehlBeschreibung
docker cp uptime-kuma:/app/data ./backupData Directory backuppen
docker cp ./backup/. uptime-kuma:/app/dataVon Backup restoren
docker volume inspect uptime-kumaVolume Mount Point suchen
IssueLösung
Keine UI ZugriffCheck Port Binding: docker port uptime-kuma
NFS Volume ErrorsLokale Directories verwenden, nicht Network File Systems
WebSocket ErrorsReverse Proxy für WebSocket Upgrade konfigurieren
Container nicht startenLogs überprüfen: docker logs uptime-kuma
Data Persistence verlorenStellen Sie sicher, dass -v uptime-kuma:/app/data Volume verwendet wird
Docker Monitoring failsMount docker.sock: -v /var/run/docker.sock:/var/run/docker.sock:ro
PlatformStatus
Linux (x64, ARM)Unterstützt
Windows 10+ (x64)Unterstützt
macOSUnterstützt
Docker DesktopUnterstützt
KubernetesVia Docker Image
FreeBSD/OpenBSDNicht unterstützt
Replit/HerokuNicht unterstützt
  • Docker Volumes verwenden (nicht Bind Mounts zu NFS) für Data Persistence
  • Behind Reverse Proxy mit SSL Termination für Production deployen
  • 2FA für Admin Account sofort nach dem ersten Login aktivieren
  • Monitoring Intervals auf 60 Sekunden oder mehr für externe Services setzen
  • Push Monitor Type für Services hinter Firewalls verwenden
  • Mindestens 2 Notification Channels für Redundanz konfigurieren
  • Separate Status Pages für interne und externe Audiences erstellen
  • Data Directory regelmäßig backuppen — enthält alle Konfiguration
  • Timezone über TZ Environment Variable setzen, um mit Operations Center zu matchen