Uptime Kuma nedir?

Uptime Kuma, kendi sunucunuzda barındırabileceğiniz bir izleme aracıdır. Web sitelerini, TCP portlarını, DNS kayıtlarını, Docker container'larını ve daha fazlasını düzenli aralıklarla kontrol eder, bir şey devre dışı kaldığında bildirim gönderir ve durum sayfaları yayınlayabilir. Proje, louislam/uptime-kuma adlı resmi bir image sağlar. Bu image 3001 portunu dinler ve tüm verileri /app/data klasöründe tutar.

Araç açıklaması

Bu araç, Uptime Kuma için bir compose.yaml dosyası oluşturur. Uptime Kuma deposundaki dosyayı temel alır ve genellikle ihtiyaç duyulan ayarları ekler: image sürümü ve varyantı, host portu ve bind adresi, verilerin depolandığı konum, Docker host monitörleri için Docker socket erişimi ve veritabanı. Kendi container'ında MariaDB veritabanı kullanıldığında araç, sağlık kontrolü içeren ikinci bir servis ekler; böylece Uptime Kuma yalnızca veritabanı hazır olduktan sonra başlar. Formda alanı bulunmayan ayarlar ortam değişkenleri olarak eklenebilir. Her şey tarayıcınızda oluşturulur.

Özellikler

  • 2, 1 ve beta image etiketleri ile 2. sürümün standart, slim, rootless ve slim rootless varyantları
  • Host portu ve reverse proxy arkasında kullanım için 127.0.0.1 gibi bir bind adresi
  • Host üzerinde bir veri klasörü veya sizin için tanımlanan adlandırılmış bir Docker volume'u
  • Docker host monitörleri için /var/run/docker.sock adresine isteğe bağlı erişim ve bunun sağladıkları hakkında bir uyarı
  • SQLite, yerleşik MariaDB, dosyaya eklenen bir MariaDB container'ı veya harici bir MariaDB sunucusu
  • $ işaretleri escape edilerek Compose tarafından korunmasını sağlayan oluşturulmuş bir veritabanı parolası
  • Bir iframe içine yerleştirme, WebSocket origin kontrolü ve Cloudflare Tunnel token'ı için seçenekler
  • Diğer tüm ortam değişkenleri, dosyayı açıklayan yorumlar ve compose.yaml olarak indirme seçeneği

Örnekler

Varsayılan ayarlar, Uptime Kuma deposundaki dosyayla aynı dosyayı oluşturur:

services:
  uptime-kuma:
    image: louislam/uptime-kuma:2
    ports:
      - "3001:3001"
    volumes:
      - ./data:/app/data
    restart: unless-stopped

Veritabanı olarak bir MariaDB container'ı seçildiğinde, bir mariadb servisi eklenir ve Uptime Kuma UPTIME_KUMA_DB_TYPE, UPTIME_KUMA_DB_HOSTNAME ve diğer UPTIME_KUMA_DB_* değişkenleriyle bu servise bağlanır.

İpuçları

  • Sonucu boş bir klasöre compose.yaml olarak kaydedin ve docker compose up -d komutuyla başlatın. Ardından http://localhost:3001 adresini açın
  • NFS gibi dosya sistemleri veri klasörü için desteklenmez. Yerel bir klasör veya Docker volume'u kullanın
  • Slim image'lar, gerçek tarayıcı monitörünün ihtiyaç duyduğu Chromium'u ve yerleşik MariaDB'yi içermez
  • Rootless image'lar UID 1000 olan node kullanıcısıyla çalışır; bu nedenle host üzerindeki veri klasörünün bu kullanıcı tarafından yazılabilir olması gerekir
  • Uptime Kuma WebSockets kullanır. Reverse proxy arkasına yerleştirdiğinizde proxy'nin Upgrade ve Connection başlıklarını iletmesi gerekir
  • Docker socket'i, Uptime Kuma'ya host üzerindeki Docker üzerinde tam denetim sağlar. Yalnızca Docker host monitörlerine ihtiyaç duyduğunuzda bağlayın ve Uptime Kuma'yı internete açık hâle getirmeyin
  • Sürüm 1 yalnızca SQLite'ı desteklediğinden veritabanı seçenekleri bu sürüm için gizlenir
  • Parola alanları dosyada düz metin olarak yer alır. Dosyayı gizli tutun veya parolayı bir .env dosyasına taşıyıp ${DB_PASSWORD} olarak referans verin