Τι είναι το Uptime Kuma;

Το Uptime Kuma είναι ένα αυτοφιλοξενούμενο εργαλείο παρακολούθησης. Ελέγχει σε τακτά χρονικά διαστήματα ιστοτόπους, TCP ports, εγγραφές DNS, containers Docker και πολλά άλλα, στέλνει ειδοποίηση όταν κάτι σταματά να λειτουργεί και μπορεί να δημοσιεύει σελίδες κατάστασης. Το έργο παρέχει μια επίσημη image, louislam/uptime-kuma, η οποία ακούει στο port 3001 και αποθηκεύει τα πάντα στον φάκελο /app/data.

Περιγραφή εργαλείου

Αυτό το εργαλείο δημιουργεί ένα compose.yaml για το Uptime Kuma. Ξεκινά από το αρχείο του repository του Uptime Kuma και προσθέτει τις ρυθμίσεις που χρειάζονται συνήθως: την έκδοση και την παραλλαγή της image, το port και τη διεύθυνση bind του host, την τοποθεσία αποθήκευσης των δεδομένων, την πρόσβαση στο Docker socket για monitors του host Docker και τη βάση δεδομένων. Όταν επιλέγεται μια βάση δεδομένων MariaDB στο δικό της container, το εργαλείο προσθέτει μια δεύτερη υπηρεσία με έλεγχο υγείας, ώστε το Uptime Kuma να ξεκινά μόνο αφού είναι έτοιμη η βάση δεδομένων. Οι ρυθμίσεις για τις οποίες η φόρμα δεν διαθέτει πεδίο μπορούν να προστεθούν ως μεταβλητές περιβάλλοντος. Όλα δημιουργούνται στο browser σας.

Δυνατότητες

  • Οι ετικέτες image 2, 1 και beta, με τις τυπικές, slim, rootless και slim rootless παραλλαγές της έκδοσης 2
  • Το port του host και μια διεύθυνση bind, όπως η 127.0.0.1, για χρήση πίσω από reverse proxy
  • Ένας φάκελος δεδομένων στον host ή ένα ονομαστικό Docker volume, το οποίο δηλώνεται αυτόματα
  • Προαιρετική πρόσβαση στο /var/run/docker.sock για monitors του host Docker, μαζί με προειδοποίηση σχετικά με τις δυνατότητες που παρέχει
  • SQLite, η ενσωματωμένη MariaDB, ένα container MariaDB που προστίθεται στο αρχείο ή ένας εξωτερικός server MariaDB
  • Δημιουργημένος κωδικός πρόσβασης βάσης δεδομένων, με διαφυγή των συμβόλων $, ώστε να διατηρούνται από το Compose
  • Επιλογές για ενσωμάτωση σε iframe, τον έλεγχο προέλευσης WebSocket και ένα token Cloudflare Tunnel
  • Οποιαδήποτε άλλη μεταβλητή περιβάλλοντος, σχόλια που εξηγούν το αρχείο και λήψη ως compose.yaml

Παραδείγματα

Οι προεπιλεγμένες ρυθμίσεις δημιουργούν το ίδιο αρχείο με αυτό του repository του Uptime Kuma:

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

Η επιλογή ενός container MariaDB ως βάσης δεδομένων προσθέτει μια υπηρεσία mariadb και συνδέει το Uptime Kuma σε αυτήν μέσω των UPTIME_KUMA_DB_TYPE, UPTIME_KUMA_DB_HOSTNAME και των υπόλοιπων μεταβλητών UPTIME_KUMA_DB_*.

Συμβουλές

  • Αποθηκεύστε το αποτέλεσμα ως compose.yaml σε έναν κενό φάκελο και εκκινήστε το με docker compose up -d. Στη συνέχεια ανοίξτε το http://localhost:3001
  • Συστήματα αρχείων όπως το NFS δεν υποστηρίζονται για τον φάκελο δεδομένων. Χρησιμοποιήστε έναν τοπικό φάκελο ή ένα Docker volume
  • Οι slim images δεν περιλαμβάνουν το Chromium, το οποίο απαιτείται από το monitor πραγματικού browser, και δεν περιλαμβάνουν την ενσωματωμένη MariaDB
  • Οι rootless images εκτελούνται ως ο χρήστης node με UID 1000, επομένως ένας φάκελος δεδομένων στον host πρέπει να είναι εγγράψιμος από αυτόν τον χρήστη
  • Το Uptime Kuma χρησιμοποιεί WebSockets. Όταν το τοποθετείτε πίσω από reverse proxy, το proxy πρέπει να προωθεί τις κεφαλίδες Upgrade και Connection
  • Το Docker socket παρέχει στο Uptime Kuma πλήρη έλεγχο του Docker στον host. Προσαρτήστε το μόνο όταν χρειάζεστε monitors του host Docker και μην εκθέτετε το Uptime Kuma στο διαδίκτυο
  • Η έκδοση 1 υποστηρίζει μόνο SQLite, επομένως οι επιλογές βάσης δεδομένων αποκρύπτονται για αυτήν
  • Τα πεδία κωδικών πρόσβασης καταλήγουν στο αρχείο σε απλό κείμενο. Διατηρήστε το αρχείο ιδιωτικό ή μεταφέρετε τον κωδικό πρόσβασης σε ένα αρχείο .env και αναφερθείτε σε αυτόν ως ${DB_PASSWORD}