Ευρετήριο ημερολογίουDockup / σημείωση πεδίου
Note / self-host-uptime-kuma

Πώς να κάνετε self-host το Uptime Kuma το 2026: ειδοποιήσεις, TLS και persistent data

Κάντε self-host το Uptime Kuma με σωστές θύρες, persistent storage, HTTPS, secrets, backups και ελέγχους αναβάθμισης. Μάθετε πώς να διορθώσετε την περίπτωση όπου το data volume είναι read-only.

Οι περισσότερες σημειώσεις εγκατάστασης του Uptime Kuma σταματούν στην πρώτη φόρτωση της σελίδας. Αυτό είναι πολύ νωρίς: το data volume μπορεί να είναι read-only ή το container DNS να μην μπορεί να κάνει resolve τα monitored hosts. Ένα χρήσιμο production test είναι πιο απαιτητικό — δημιουργήστε HTTP και TCP monitors, προκαλέστε μία ελεγχόμενη αστοχία και λάβετε την ειδοποίηση και την ενημέρωση αποκατάστασης μέσω του provider που επιλέξατε.

Ο ρόλος του Uptime Kuma είναι απλός: monitoring για υπάρχουσες υπηρεσίες, με alerts σε περισσότερους από 90 προορισμούς. Το operational boundary του περιλαμβάνει περισσότερα από τη web process, επομένως το dependency, το αποθηκευμένο state και το public route πρέπει να δηλωθούν ρητά πριν φτάσουν πραγματικά δεδομένα.

Ορίστε πρώτα τι σημαίνει επιτυχία για το Uptime Kuma

Ένα χρήσιμο διάγραμμα του Uptime Kuma δείχνει το public route, την private port 3001, το state boundary και κάθε υποστηρικτική προϋπόθεση. Σημειώστε ποια arrows μεταφέρουν credentials και ποια είναι απλή κίνηση χρηστών. Η εξωτερική απαίτηση του Uptime Kuma είναι outbound access προς κάθε monitored endpoint και alert provider. Ελέγξτε το outbound DNS, το TLS και τη συμπεριφορά του provider χωρίς να δημοσιεύσετε άλλη inbound υπηρεσία.

Αποδείξτε το διάγραμμα με μία πραγματική ενέργεια: δημιουργήστε HTTP και TCP monitors, προκαλέστε μία ελεγχόμενη αστοχία και λάβετε την ειδοποίηση και την ενημέρωση αποκατάστασης μέσω του provider που επιλέξατε. Η πιθανότερη πίεση προέρχεται από το monitor interval, το retry count, το status-page traffic και τον αριθμό των outbound probes που εκτελούνται στο ίδιο δευτερόλεπτο· παρακολουθήστε αυτή τη διαδρομή αντί να αντιμετωπίζετε όλα τα HTTP requests ως ισοδύναμα.

Λειτουργήστε το Uptime Kuma γύρω από το πραγματικό bottleneck του

Το πρώτο χρήσιμο operational metric για το Uptime Kuma είναι αν μπορεί να δημιουργήσει HTTP και TCP monitors, να προκαλέσει μία ελεγχόμενη αστοχία και να λάβει την ειδοποίηση και την ενημέρωση αποκατάστασης μέσω του provider που επιλέξατε. Συνδυάστε το με saturation signals για το monitor interval, το retry count, το status-page traffic και τον αριθμό των outbound probes που εκτελούνται στο ίδιο δευτερόλεπτο. Ένα process-only probe δεν πρέπει να καλεί ακριβά dependencies ούτε να κάνει restart το container επειδή ένα upstream είναι προσωρινά μη διαθέσιμο.

Αντιμετωπίστε τα upgrades ως αλλαγές δεδομένων, επειδή τα SQLite migrations και οι αλλαγές στους notification providers μπορούν να μετατρέψουν ένα γρήγορο image pull σε stateful application upgrade. Κάντε pin τις versions, επαναλάβετε τη διαδικασία σε restored state και διατηρήστε διαθέσιμο το προηγούμενο image μέχρι να παραμένει έγκυρο ένα rollback. Όταν το data volume είναι read-only ή το container DNS δεν μπορεί να κάνει resolve τα monitored hosts, διατηρήστε τα logs από πριν το restart· συνήθως περιέχουν το causal message.

Καταγράψτε ένα known-good deployment του Uptime Kuma

Για το Uptime Kuma, ορίστε ένα known-good transaction πριν από το launch: δημιουργήστε HTTP και TCP monitors, προκαλέστε μία ελεγχόμενη αστοχία και λάβετε την ειδοποίηση και την ενημέρωση αποκατάστασης μέσω του provider που επιλέξατε. Καταγράψτε τα prerequisites, την αναμενόμενη απόκριση και τα βήματα cleanup σε version control, χωρίς secret values. Κάντε pin το image που χρησιμοποιήθηκε για τη δημιουργία αυτού του reference.

Χρησιμοποιήστε το transaction για να επικυρώσετε ένα replacement και ένα ανεξάρτητο restore. Η restored υπηρεσία είναι αποδεκτή μόνο όταν επανεμφανιστούν το monitor history, τα notification credentials και τα maintenance windows και εξακολουθεί να παραδίδεται ένα test alert. Παράλληλα, παρατηρήστε το monitor interval, το retry count, το status-page traffic και τον αριθμό των outbound probes που εκτελούνται στο ίδιο δευτερόλεπτο και μετατρέψτε το πιο αργό ή περιορισμένο τμήμα σε service-level alert.

Το gate χρειάζεται επίσης ένα negative case: αποκλείστε προσωρινά το test path που χρησιμοποιείται για outbound access προς κάθε monitored endpoint και alert provider. Επιβεβαιώστε ότι το Uptime Kuma παράγει ένα actionable error διατηρώντας παράλληλα τα δεδομένα, επαναφέρετε τη σωστή κατάσταση και επαναλάβετε το known-good transaction. Η διατήρηση και των δύο αποτελεσμάτων αποτρέπει το να γίνει ένα επιφανειακό health endpoint το μοναδικό production evidence.

Ρυθμίσεις container που αξίζει να ελέγξετε

Χρησιμοποιήστε το container ως replaceable runtime και όχι ως την τοποθεσία όπου βρίσκονται τα δεδομένα-πηγή.

docker run -d \
  --name uptime-kuma \
  --restart unless-stopped \
  -p 127.0.0.1:3001:3001 \
  -v uptime-kuma-data:/app/data \
  -e UPTIME_KUMA_PORT=3001 \
  louislam/uptime-kuma:1

Επιτρέψτε και επαληθεύστε το outbound ή client-side path που απαιτείται για outbound access προς κάθε monitored endpoint και alert provider. Ελέγξτε τον container user, τα writable paths και τον bound listener πριν το εκθέσετε. Εκτελέστε ολόκληρη την ενέργεια — δημιουργήστε HTTP και TCP monitors, προκαλέστε μία ελεγχόμενη αστοχία και λάβετε την ειδοποίηση και την ενημέρωση αποκατάστασης μέσω του provider που επιλέξατε — και αποθηκεύστε το ακριβές image reference που παρήγαγε το αποτέλεσμα.

Κάντε restore το Uptime Kuma σε άδειο host

Προστατέψτε το state του Uptime Kuma πριν βελτιστοποιήσετε το container του. Το απαιτούμενο σύνολο είναι η SQLite database και τα uploaded assets στο /app/data. Κάντε mount το /app/data πριν από το bootstrap, γράψτε harmless sample data και αντικαταστήστε το container για να αποδείξετε ότι το path είναι πράγματι persistent. Αν πρέπει να συμφωνούν πολλά stores, τεκμηριώστε τη σειρά με την οποία σταματούν τα writes και λαμβάνονται τα backups.

Διατηρήστε αντίγραφα εκτός του deployment server και κρυπτογραφήστε το υλικό που περιέχει credentials ή private content. Το recovery είναι επιτυχές όταν επανεμφανιστούν το monitor history, τα notification credentials και τα maintenance windows και εξακολουθεί να παραδίδεται ένα test alert. Η διάκριση μεταξύ persistent mount και ανεξάρτητου αντιγράφου καλύπτεται στον οδηγό persistent storage and snapshots.

Δώστε στο Uptime Kuma μία canonical address

Δημοσιεύστε ένα σταθερό HTTPS origin μέσω του reverse proxy. Κατευθύνετε το hostname που επιλέξατε στη container port 3001, προωθήστε το original host και το HTTPS scheme και αποφύγετε τη δημοσίευση δεύτερου direct origin.

Ελέγξτε το Uptime Kuma από έναν καθαρό external client. Διαχωρίστε το ingress failure από το γνωστό application boundary — το data volume είναι read-only ή το container DNS δεν μπορεί να κάνει resolve τα monitored hosts. Ένα certificate, DNS ή 502 error ανήκει στο routing· ένα request που φτάνει στο Uptime Kuma και αποτυγχάνει αργότερα ανήκει στο application state, το capacity ή την υποστηρικτική του προϋπόθεση. Ο οδηγός custom-domain TLS καλύπτει την πρώτη κατηγορία.

Αποφάσεις ασφαλείας ειδικά για το Uptime Kuma

Ο ειδικός για την εφαρμογή κίνδυνος ασφαλείας είναι η εκτέλεση του first-user setup σε publicly exposed instance. Η operational απάντηση είναι να ολοκληρώσετε το first-user setup ιδιωτικά και στη συνέχεια να προστατεύσετε ξεχωριστά τα dashboards και τη διαχείριση των status pages. Ολοκληρώστε το bootstrap μέσω restricted route και αφαιρέστε αμέσως μετά την προσωρινή πρόσβαση στο setup.

Το UPTIME_KUMA_PORT ελέγχει τη συμπεριφορά και όχι την εμπιστευτικότητα· επικυρώστε τον τύπο και την τιμή του και αποθηκεύστε τα πραγματικά credentials του Uptime Kuma ξεχωριστά. Δώστε στη process του Uptime Kuma μόνο τα documented mounts και τα dependency routes· αποφύγετε την πρόσβαση στο host root και στο Docker socket. Καταγράψτε τις αποτυχημένες authentication attempts και τα configuration errors, αλλά κάντε redact τα tokens, τα connection strings και το user content.

Ένα deployment στο Dockup χρειάζεται και πάλι acceptance test για το Uptime Kuma

Το routing, τα certificates, το service replacement και το attached storage είναι λογικοί στόχοι για automation. Το Dockup τα διαχειρίζεται για το Uptime Kuma και μπορεί να κάνει provision το σχετικό managed database ή να συνδεθεί σε υπηρεσίες στον server του πελάτη.

Αυτό που δεν πρέπει να επινοήσει είναι το trust policy του Uptime Kuma. Μετά το deployment, δημοσιεύστε ένα σταθερό HTTPS origin μέσω του reverse proxy, επιβάλετε αυτό το boundary — ολοκληρώστε το first-user setup ιδιωτικά και στη συνέχεια προστατεύστε ξεχωριστά τα dashboards και τη διαχείριση των status pages — και επαληθεύστε το αποτέλεσμα αυτού του σεναρίου: δημιουργήστε HTTP και TCP monitors, προκαλέστε μία ελεγχόμενη αστοχία και λάβετε την ειδοποίηση και την ενημέρωση αποκατάστασης μέσω του provider που επιλέξατε. Το αποτέλεσμα είναι one-click infrastructure με application-specific acceptance test.

Συχνές ερωτήσεις

Τι χρειάζεται το Uptime Kuma για production deployment;

Δρομολογήστε το Uptime Kuma container στη port 3001 μέσω ενός HTTPS origin. Η εξωτερική απαίτηση delivery είναι outbound access προς κάθε monitored endpoint και alert provider. Μην θεωρήσετε έτοιμο το Uptime Kuma μέχρι να μπορείτε να δημιουργήσετε HTTP και TCP monitors, να προκαλέσετε μία ελεγχόμενη αστοχία και να λάβετε την ειδοποίηση και την ενημέρωση αποκατάστασης μέσω του provider που επιλέξατε.

Ποια δεδομένα του Uptime Kuma ανήκουν σε backup;

Κάντε persist το /app/data και συμπεριλάβετε τη SQLite database και τα uploaded assets στο /app/data στο ίδιο recovery manifest. Ένα καθαρό restore του Uptime Kuma είναι επιτυχές μόνο όταν επανεμφανιστούν το monitor history, τα notification credentials και τα maintenance windows και εξακολουθεί να παραδίδεται ένα test alert.

Απαιτεί το Uptime Kuma HTTPS πίσω από reverse proxy;

Χρησιμοποιήστε HTTPS για το public origin του Uptime Kuma και διατηρήστε την port 3001 στο internal route. Εφαρμόστε σωστά τη ρύθμιση του Uptime Kuma: δημοσιεύστε ένα σταθερό HTTPS origin μέσω του reverse proxy. Για το Uptime Kuma, το HTTPS προστατεύει credentials ή user content κατά τη μεταφορά και διατηρεί συνεπή τη client behavior που εξαρτάται από το origin.

Πώς πρέπει να ελεγχθεί ένα upgrade του Uptime Kuma;

Κάντε restore το τρέχον state του Uptime Kuma σε ένα isolated deployment, εφαρμόστε την candidate version και επαναλάβετε το acceptance transaction. Δώστε ιδιαίτερη προσοχή, επειδή τα SQLite migrations και οι αλλαγές στους notification providers μπορούν να μετατρέψουν ένα γρήγορο image pull σε stateful application upgrade. Διατηρήστε το προηγούμενο Uptime Kuma image μέχρι να γίνουν κατανοημένα τα όρια του data migration και του rollback.