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

Πώς να αυτοφιλοξενήσετε το Homarr το 2026: Πίνακες, μυστικά και live πλακίδια

Ένας πρακτικός οδηγός αυτοφιλοξενίας του Homarr που καλύπτει Docker, θύρες, επίμονα δεδομένα, TLS, ασφάλεια, αντίγραφα ασφαλείας και τις αστοχίες που εμποδίζουν τη χρήση σε production. Βήμα προς βήμα.

Ένα container του Homarr μπορεί να εμφανίζεται ως healthy, ενώ η λειτουργία που ενδιαφέρει τους χρήστες να έχει αποτύχει. Στο Homarr, αυτή η κρυφή αστοχία συνήθως σημαίνει ότι τα widgets δεν μπορούν να επικοινωνήσουν με τις υπηρεσίες, επειδή χρησιμοποιούν διευθύνσεις τοπικές στον host. Αυτός ο οδηγός αντιμετωπίζει ως κριτήριο αποδοχής τη διαδικασία «δημιούργησε έναν πίνακα, πρόσθεσε ένα service tile, ρύθμισε μία credentialed integration και επιβεβαίωσε το live status και την αναζήτηση μετά από restart» και σχεδιάζει το deployment με αφετηρία αυτό το αποτέλεσμα.

Το Homarr έχει συγκεκριμένο ρόλο στο stack: searchable dashboard με live tiles για self-hosted υπηρεσίες. Επομένως, το ερώτημα για production δεν είναι αν η θύρα 7575 απαντά μία φορά, αλλά αν το state, οι εξαρτήσεις και η public διεύθυνση συνεχίζουν να συμφωνούν μετά από restart, update και restore.

Καθορίστε πρώτα τι σημαίνει επιτυχία για το Homarr

Μην αφήσετε το image του Homarr να καθορίσει κατά λάθος την αρχιτεκτονική production. Το image παρέχει μια διεργασία στη θύρα 7575· το storage, το routing και οι εξωτερικές απαιτήσεις εξακολουθούν να χρειάζονται προσεκτικά καθορισμένους κύκλους ζωής. Η τοπική απαίτηση runtime είναι επίμονα δεδομένα εφαρμογής και credentials για live integrations. Αυτό πρέπει να περιλαμβάνεται στο capacity και mount plan, με owner και μετρήσιμο όριο.

Το deployment είναι έτοιμο για πιο ενδελεχή testing όταν μπορεί να δημιουργήσει έναν πίνακα, να προσθέσει ένα service tile, να ρυθμίσει μία credentialed integration και να επιβεβαιώσει το live status και την αναζήτηση μετά από restart. Ακολουθήστε τη συναλλαγή στα logs και παρακολουθήστε το widget request fan-out, το downstream API latency, το μέγεθος των app-data και τους ταυτόχρονους clients του dashboard. Αυτές οι παρατηρήσεις δείχνουν αν η τρέχουσα topology απομονώνει το σωστό component.

Κάντε πρόβα για την επικίνδυνη αλλαγή στο Homarr

Ένα healthy container είναι απαραίτητο, αλλά όχι επαρκές. Ο service-level indicator είναι η επιτυχής ολοκλήρωση της διαδικασίας «δημιούργησε έναν πίνακα, πρόσθεσε ένα service tile, ρύθμισε μία credentialed integration και επιβεβαίωσε το live status και την αναζήτηση μετά από restart», ενώ τα πιθανότερα pressure signals είναι το widget request fan-out, το downstream API latency, το μέγεθος των app-data και οι ταυτόχρονοι clients του dashboard.

Το change control έχει σημασία, επειδή τα schema migrations του Homarr και η συνέχεια του encryption key μπορούν να επηρεάσουν τα αποθηκευμένα integration credentials. Διατηρήστε το παλιό image, δοκιμάστε τα migrations σε αντίγραφο του state και καταγράψτε αν υποστηρίζεται rollback μετά τη μετακίνηση του schema. Αν τα widgets δεν μπορούν να επικοινωνήσουν με τις υπηρεσίες επειδή χρησιμοποιούν διευθύνσεις τοπικές στον host, διαγνώστε το πρώτο boundary που διαφέρει από το περιβάλλον όπου λειτουργεί σωστά.

Καταγράψτε ένα γνωστά καλό deployment του Homarr

Μην χρησιμοποιήσετε το traffic του πρώτου χρήστη ως κριτήριο αποδοχής για το Homarr. Προετοιμάστε ακίνδυνο sample state και εκτελέστε ολόκληρη τη διαδικασία «δημιούργησε έναν πίνακα, πρόσθεσε ένα service tile, ρύθμισε μία credentialed integration και επιβεβαίωσε το live status και την αναζήτηση μετά από restart». Σημειώστε το ακριβές public URL, το αποτέλεσμα, το image reference και το διάστημα των logs που συνδέεται με την εκτέλεση.

Αντικαταστήστε το container και επαναλάβετε χωρίς να κάνετε rebuild των δεδομένων. Στη συνέχεια, κάντε recovery σε άδειο host· η συνθήκη recovery είναι να επανέλθουν οι πίνακες, οι χρήστες, οι integrations και τα custom assets και να επανασυνδεθούν τα credentialed widgets. Παρατηρήστε το widget request fan-out, το downstream API latency, το μέγεθος των app-data και τους ταυτόχρονους clients του dashboard σε κάθε πέρασμα και ορίστε alert γύρω από την υποβάθμιση της συναλλαγής, όχι γύρω από idle metrics του container.

Ένας τελευταίος έλεγχος πρέπει να αποτύχει σκόπιμα: υποβάλετε ακίνδυνο input κοντά στο όριο πόρων ή format που σχετίζεται με αυτό το boundary: τα widgets δεν μπορούν να επικοινωνήσουν με τις υπηρεσίες επειδή χρησιμοποιούν διευθύνσεις τοπικές στον host. Επιβεβαιώστε ότι το μήνυμα του Homarr που θα προκύψει αναγνωρίζει το σχετικό boundary, αντί να προκαλεί διαγραφή δεδομένων ή ατέρμονο restart. Επαναφέρετε τη valid συνθήκη και επιβεβαιώστε ότι η ίδια sample συναλλαγή ολοκληρώνεται με επιτυχία. Κρατήστε αυτή τη σύντομη άσκηση στη release checklist.

Εκκινήστε το πρώτο instance με χαρακτηριστικά production

Το πρώτο container πρέπει να διαγράφεται και να αναδημιουργείται εύκολα. Κρατήστε τα δεδομένα εκτός του writable layer, κάντε bind τη θύρα 7575 μόνο εκεί όπου μπορεί να φτάσει ο proxy και περάστε τη configuration κατά το runtime.

docker run -d \
  --name homarr \
  --restart unless-stopped \
  -p 127.0.0.1:7575:7575 \
  -v homarr-data:/appdata \
  -e SECRET_ENCRYPTION_KEY=replace-with-a-long-random-value \
  ghcr.io/homarr-labs/homarr:latest

Κάντε pin το image μετά το αρχικό test. Διαβάστε το πρώτο startup error αντί για το τελικό μήνυμα restart, επαληθεύστε κάθε mount με το docker inspect και παρακολουθήστε τα logs ενώ δημιουργείτε έναν πίνακα, προσθέτετε ένα service tile, ρυθμίζετε μία credentialed integration και επιβεβαιώνετε το live status και την αναζήτηση μετά από restart. Αυτή η ακολουθία ξεχωρίζει ένα λανθασμένο image command από πρόβλημα εξάρτησης ή permissions.

Τα volumes είναι μόνο το πρώτο επίπεδο recovery

Για το Homarr, η ασφάλεια του redeploy ξεκινά από τους πίνακες, τους χρήστες, τις integrations, τα secrets και τα custom assets. Κάντε mount το /appdata πριν από το bootstrap, γράψτε ακίνδυνα sample data και αντικαταστήστε το container για να αποδείξετε ότι αυτή η διαδρομή είναι πράγματι persistent. Δοκιμάστε τη διαδρομή αντικαθιστώντας το container όσο υπάρχουν τα ακίνδυνα sample data· έτσι αποκαλύπτονται mounts που δείχνουν μία directory πιο πάνω ή πιο κάτω από το σωστό σημείο.

Στη συνέχεια, δοκιμάστε το disaster recovery σε κενό host. Όπου χρειάζεται, χρησιμοποιήστε application-consistent database export και επαληθεύστε ότι επανέρχονται οι πίνακες, οι χρήστες, οι integrations και τα custom assets και ότι επανασυνδέονται τα credentialed widgets. Ο οδηγός για database backups που έχουν δοκιμαστεί σε restore προσφέρει ισχυρότερο στόχο από έναν απλό έλεγχο ότι δημιουργήθηκε ένα archive file.

Αποτρέψτε την επιτυχία του proxy από το να κρύψει την αστοχία της εφαρμογής

Ο browser, ο API client και το Homarr πρέπει να συμφωνούν σε ένα origin. Για να το πετύχετε, ορίστε το εξωτερικό HTTPS hostname και τα allowed origins. Διατηρήστε το αρχικό host και protocol, κρατώντας παράλληλα τη θύρα 7575 μη διαθέσιμη ως ανταγωνιστική public διεύθυνση.

Ο οδηγός αντιμετώπισης προβλημάτων για site που είναι εκτός λειτουργίας βοηθά να ξεχωρίσετε μια unreachable route από μια εφαρμογή που απαντά. Η διάκριση έχει σημασία εδώ: τα widgets δεν μπορούν να επικοινωνήσουν με τις υπηρεσίες επειδή χρησιμοποιούν διευθύνσεις τοπικές στον host. Μόνο η πρώτη περίπτωση διορθώνεται με αλλαγές στο ingress· η δεύτερη απαιτεί έλεγχο των logs, του state ή του workload του Homarr.

Κλείστε την προσωρινή πρόσβαση του setup

Ένα ασφαλές deployment του Homarr ξεκινά με την αφαίρεση authority. Αποφύγετε την αλλαγή του encryption key αφού αποθηκευτούν τα integration secrets· αντί γι’ αυτό, διατηρήστε σταθερό το SECRET_ENCRYPTION_KEY, προστατέψτε την επεξεργασία των πινάκων και περιορίστε τα credentials κάθε widget στο απαραίτητο scope.

Δημιουργήστε το SECRET_ENCRYPTION_KEY μία φορά, κρατήστε το εκτός Git και διατηρήστε το μαζί με το recovery manifest, επειδή η αλλαγή του μπορεί να καταστήσει μη έγκυρο το encrypted ή signed application state. Περιορίστε τα administrative routes, χρησιμοποιήστε private DNS για τις dependencies και ελέγξτε κάθε bind mount. Όταν τα logs αποστέλλονται κεντρικά, φιλτράρετε τα secrets και το private content πριν φύγουν από τον server.

Μεταφέρετε την επαναλήψιμη υποδομή στο Dockup

Για το Homarr, το Dockup είναι πιο χρήσιμο στο boundary ανάμεσα σε ένα image και μια durable υπηρεσία. Διατηρεί συνδεδεμένα τη διαδρομή προς τη θύρα 7575, το TLS, τις τιμές των secrets και το storage κατά την αντικατάσταση των containers, είτε το compute ανήκει στο Dockup είτε στον attached server σας.

Ολοκληρώστε με γνώση της εφαρμογής: ορίστε το εξωτερικό HTTPS hostname και τα allowed origins· επιβεβαιώστε την τοπική απαίτηση — επίμονα δεδομένα εφαρμογής και credentials για live integrations· και εκτελέστε αυτή την επαλήθευση: δημιουργήστε έναν πίνακα, προσθέστε ένα service tile, ρυθμίστε μία credentialed integration και επιβεβαιώστε το live status και την αναζήτηση μετά από restart. Κρατήστε το αποτέλεσμα ως deployment check, ώστε το επόμενο image update να αξιολογηθεί με βάση τη συμπεριφορά και όχι την κατάσταση του container.

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

Τι χρειάζεται το Homarr για deployment σε production;

Δρομολογήστε το container του Homarr στη θύρα 7575 μέσω ενός HTTPS origin. Η τοπική απαίτηση runtime είναι επίμονα δεδομένα εφαρμογής και credentials για live integrations. Μην θεωρήσετε το Homarr έτοιμο μέχρι να μπορείτε να δημιουργήσετε έναν πίνακα, να προσθέσετε ένα service tile, να ρυθμίσετε μία credentialed integration και να επιβεβαιώσετε το live status και την αναζήτηση μετά από restart.

Ποια δεδομένα του Homarr πρέπει να περιλαμβάνονται σε backup;

Κάντε persistent το /appdata και συμπεριλάβετε τους πίνακες, τους χρήστες, τις integrations, τα secrets και τα custom assets στο ίδιο recovery manifest. Ένα καθαρό restore του Homarr θεωρείται επιτυχές μόνο όταν επανέρχονται οι πίνακες, οι χρήστες, οι integrations και τα custom assets και επανασυνδέονται τα credentialed widgets.

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

Χρησιμοποιήστε HTTPS για το public origin του Homarr και κρατήστε τη θύρα 7575 στο internal route. Εφαρμόστε σωστά τη ρύθμιση του Homarr: ορίστε το εξωτερικό HTTPS hostname και τα allowed origins. Για το Homarr, το HTTPS προστατεύει τα credentials ή το περιεχόμενο των χρηστών κατά τη μεταφορά και διατηρεί συνεπή τη client συμπεριφορά που εξαρτάται από το origin.

Πώς πρέπει να δοκιμάζεται ένα upgrade του Homarr;

Κάντε restore το τρέχον state του Homarr σε isolated deployment, εφαρμόστε την υποψήφια έκδοση και επαναλάβετε τη transaction αποδοχής. Δώστε ιδιαίτερη προσοχή, επειδή τα schema migrations του Homarr και η συνέχεια του encryption key μπορούν να επηρεάσουν τα αποθηκευμένα integration credentials. Διατηρήστε το προηγούμενο image του Homarr μέχρι να κατανοήσετε τα όρια του data migration και του rollback.