Δημιουργός Docker Compose για το Uptime Kuma
Δημιουργήστε ένα compose.yaml για το Uptime Kuma. Επιλέξτε την έκδοση και την παραλλαγή της εικόνας, τις θύρες, τη θέση των δεδομένων, την παρακολούθηση Docker και μια βάση δεδομένων SQLite ή MariaDB και λάβετε ένα αρχείο έτοιμο για εκτέλεση.
Είσοδος
Έξοδος
- Τα συστήματα αρχείων όπως το NFS δεν υποστηρίζονται για την τοποθεσία δεδομένων. Χρησιμοποιήστε έναν τοπικό φάκελο ή έναν τόμο Docker.
Readme
Τι είναι το 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}