Γιατί Ήθελα ένα NAS
Τα αρχεία μου ήταν παντού. Κάποια στο Google Drive, κάποια σε σκληρό δίσκο σε ένα συρτάρι, κάποια στο laptop μου, κάποια στο laptop του αδερφού μου. Προσπάθησα να τα βάλω όλα στο Google Drive αλλά το κόστος ήταν τεράστιο. Έψαξα εναλλακτικές αλλά ήταν κι αυτές ακριβές ή αναξιόπιστες. Ήθελα έλεγχο πάνω στα αρχεία μου, χωρίς να σκέφτομαι αν μια εταιρεία θα ανεβάσει τις τιμές της ή θα κλείσει.
Ήθελα ένα μέρος όπου θα μπορούσα να αποθηκεύσω τα πάντα. Πάντα αναμμένο, πάντα προσβάσιμο, σωστά backed up. Ένα μέρος όπου εγώ και η οικογένειά μου μπορούμε να αποθηκεύουμε αρχεία, να κάνουμε stream media και να έχουμε πρόσβαση σε όλα από οποιαδήποτε συσκευή χωρίς να μου ζητάνε να στείλω πράγματα μέσω WhatsApp, να μοιράζομαι φακέλους στο cloud ή να πληρώνω μια περιουσία για αποθηκευτικό χώρο.
NAS vs Εξωτερικός Δίσκος
Η πρώτη λύση είναι ένας εξωτερικός δίσκος σε θύρα USB. Τεχνικά δουλεύει σαν κοινόχρηστος αποθηκευτικός χώρος αλλά δεν έχει redundancy, σωστά δικαιώματα, snapshots, δυνατότητες media server και η απόδοση είναι περιορισμένη. Πρέπει είτε να τον ανταλλάσσεις χέρι με χέρι είτε με κάποιον τρόπο να τον κάνεις προσβάσιμο στο δίκτυο μέσω ενός PC. Αλλά αυτό το PC πρέπει να είναι πάντα αναμμένο για να έχεις πρόσβαση και στο δίσκο.
Ένα NAS είναι ένας μικρός υπολογιστής πάντα ανοιτχτός, φτιαγμένος ειδικά για αποθήκευση. Τρέχει το δικό του λειτουργικό σύστημα, διαχειρίζεται δίσκους με RAID ή παρόμοιο redundancy, μοιράζεται αρχεία μέσω δικτύου με SMB και μπορεί να τρέξει εφαρμογές όπως media servers και εργαλεία backup. Αν χαλάσει ένας δίσκος, τα δεδομένα σου επιβιώνουν. Αν θέλεις να δώσεις στον αδερφό σου πρόσβαση σε έναν κοινόχρηστο φάκελο αλλά όχι στον προσωπικό σου, μπορείς.
Πρώτη Δοκιμή
Πριν επενδύσω σε εξοπλισμό, ξεκίνησα με ένα παλιό PC που είχα ξεχασμένο και μερικούς δίσκους — 1 TB και 2 TB. Εγκατέστησα TrueNAS, έκανα mirror τους 2 δίσκους και το χρησιμοποίησα για ένα-δύο μήνες για να δω αν ήταν κάτι που μου είναι όντως χρήσιμο.
Μετά από ένα μήνα χρήσης και δοκιμών με την οικογένεια, ήμουν σίγουρος ότι θα το χρησιμοποιούσαμε μακροπρόθεσμα.
Το Hardware που Επέλεξα
Μετά από έρευνα, πήγα με ένα AOOSTAR mini PC. Μικρό, αθόρυβο, χαμηλού κόστους, χαμηλής κατανάλωσης και έχει χώρο για τους δίσκους που χρειάζομαι.
Γιατί TrueNAS; Ήθελα κάτι open source και σταθερό. Το TrueNAS έχει το μεγαλύτερο ecosystem και βασίζεται σε ZFS. Μου προσφέρει copy-on-write, snapshots, ελέγχους ακεραιότητας δεδομένων, σωστό RAID. Κοίταξα Unraid και Synology αλλά δεν ήθελα να πληρώσω για κλειστό software όταν το TrueNAS κάνει αυτό που χρειάζομαι.
RAM: 16 GB RAM stick είναι αρκετό για τη χρήση μου.
Boot drive: Ένα μικρό NVMe για το λειτουργικό σύστημα. Κρατάω boot και data εντελώς ξεχωριστά, ώστε αν χρειαστεί ποτέ να ξαναεγκαταστήσω TrueNAS, το data pool να μην επηρεαστεί.
Storage drives: 2 × 8 TB Seagate IronWolf Pro σε mirror. NAS-rated δίσκοι σχεδιασμένοι για συνεχή λειτουργία. Mirror σημαίνει ότι και οι δύο δίσκοι έχουν τα ίδια δεδομένα — αν χαλάσει ο ένας, ο άλλος συνεχίζει και αντικαθιστώ τον χαλασμένο χωρίς downtime.
Η Δομή των Datasets και Φακέλων μου
Το TrueNAS χρησιμοποιεί ZFS datasets αντί για απλούς φακέλους. Ένα dataset είναι σαν φάκελος αλλά με δικά του δικαιώματα, quotas, ρυθμίσεις compression και πρόγραμμα snapshots. Αυτό μετράει γιατί μπορώ να κάνω snapshot τα `documents` ανεξάρτητα από τα `media`, και μπορώ να βάλω διαφορετικά δικαιώματα σε κάθε ένα. Ετσι φαίνεται το pool μου:
```tank8/├── apps/ # Configs και data εφαρμογών (Docker volumes)├── backups/ # Backups συσκευών, cloud και υπηρεσιών├── homeFlix/ # Media library για streaming├── panos/ # Προσωπικός φάκελος αδερφού├── scripts/ # Scripts αυτοματισμού και cronjobs├── secre/ # Προσωπικός φάκελος μου├── shared/ # Κοινόχρηστος φάκελος οικογένειας├── torrents/ # Προσωρινός φάκελος downloads└── vm/ # Αποθήκευση virtual machines (σπάνια χρήση)```Κάθε config εφαρμογής ζει στο NAS ώστε να διατηρείται μεταξύ rebuilds containers. Αν σβήσω ένα Docker container και το ξαναφτιάξω, το config είναι ακόμα εκεί στο `tank8/apps/`.
Χρήστες και Δικαιώματα Οικογένειας
Δημιούργησα έναν χρήστη TrueNAS για κάθε άτομο στο σπίτι — εγώ, ο αδερφός μου και η κοπέλα μου. Κάθε χρήστης έχει τα δικά του credentials για SMB πρόσβαση. Η λογική δικαιωμάτων είναι απλή:
shared: όλοι μπορούν να διαβάσουν και να γράψουν
secre: (ο προσωπικός μου φάκελος) — μόνο ο δικός μου χρήστης έχει πρόσβαση
panos: (φάκελος του αδερφού μου) — μόνο ο δικός του χρήστης έχει πρόσβαση\
homeFlix: όλοι μπορούν να διαβάσουν (για streaming), μόνο ο root και συγκεκριμένες εφαρμογές μπορούν να γράψουν
backups: μόνο ο δικός μου χρήστης
Το TrueNAS το χειρίζεται αυτό μέσω POSIX permissions και ACLs σε κάθε dataset. Ρυθμίζω τον owner, το group και τα permissions μία φορά. Όταν κάποιος συνδέεται μέσω SMB με τα credentials του, βλέπει μόνο αυτά που του επιτρέπεται να δει.
Media Streaming
Το homeFlix dataset είναι ο φάκελος για τα media μου. Ταινίες και σειρές ζουν εδώ σε δομή φακέλων που καταλαβαίνουν οι εφαρμογές.
Jellyfin είναι ο media server μου. Σκανάρει τη τον φάκελο homeFlix, τραβάει metadata και artwork, και σερβίρει τα πάντα σε οποιαδήποτε συσκευή με web browser ή την εφαρμογή Jellyfin. Οι τηλεοράσεις στο IoT VLAN έχουν κανόνα firewall που τους επιτρέπει να φτάσουν το Jellyfin στο NAS για streaming.
Immich χειρίζεται φωτογραφίες και βίντεο. Είναι μια self-hosted εναλλακτική του Google Photos. Το κινητό μου κάνει αυτόματα backup φωτογραφίες στο Immich, και μπορώ να τις βλέπω από οποιαδήποτε συσκευή. Το μειονέκτημα είναι ότι το Immich αποθηκεύει αρχεία στη δική του δομή, οπότε έχεις πολλούς nested φακέλους. Αλλά η πρόσβαση στις φωτογραφίες μέσω του Immich web UI ή app είναι εύκολη.
Plex τρέχει επίσης παράλληλα με το Jellyfin. Ξεκίνησα με Plex, πέρασα στο Jellyfin για τα περισσότερα αφού είναι εντελώς δωρεάν, αλλά κρατάω το Plex γιατί κάποια μέλη της οικογένειας προτιμούν το interface του.
Αυτοματοποιημένα Media Downloads
Έχω ένα αυτοματοποιημένο pipeline για downloading **νόμιμων** ταινίων και σειρών. Το stack είναι:
Prowlarr: διαχειρίζεται indexers (torrent sites)
Radarr: παρακολουθεί και κατεβάζει ταινίες
Sonarr: παρακολουθεί και κατεβάζει σειρές
Bazarr: κατεβάζει υπότιτλους αυτόματα
qBittorrent: ο download client
Overseerr: ένα interface όπου τα μέλη της οικογένειας μπορούν να ζητήσουν ταινίες/σειρές
Δουλεύει ως εξής: κάποιος ζητάει μια ταινία στο Overseerr, το Radarr το παίρνει, ψάχνει στους indexers του Prowlarr, το στέλνει στο qBittorrent, και όταν τελειώσει το download μεταφέρεται στον σωστό φάκελο στο `homeFlix` με σωστή ονοματολογία. Το Jellyfin το εντοπίζει αυτόματα.
Δεν θα γράψω πλήρη οδηγό εγκατάστασης εδώ γιατί υπάρχουν δεκάδες καλά βίντεο και tutorials online που εξηγούν αναλυτικά το *arr stack. Το σημαντικό για αυτό το άρθρο είναι ότι όλα τα config αυτών των υπηρεσιών ζουν στο tank8/apps/ και τα media καταλήγουν στο tank8/homeFlix/.
Πρόσβαση στο NAS από Διαφορετικές Συσκευές
Mac: Finder → Go → Connect to Server → smb://nas.homelab/shared (ή οποιοδήποτε share). Γίνεται mount σαν τοπικός δίσκος. Το έχω ρυθμίσει να γίνεται auto-mount στο login. Windows: File Explorer → Map Network Drive → \\nas.homelab\shared. Ίδια λογική. Persistent connection μεταξύ reboots. Απομακρυσμένα (εκτός σπιτιού): Συνδέομαι μέσω [WireGuard VPN](/en/blog/tech/wireguard-vpn-home-lab/) και το NAS είναι προσβάσιμο σαν να ήμουν στο τοπικό δίκτυο. Τα SMB mounts δουλεύουν, το Jellyfin δουλεύει, τα πάντα δουλεύουν. Τα τοπικά DNS names κάνουν resolve γιατί οι VPN clients χρησιμοποιούν τον DNS server του σπιτιού μου.
Το SMB είναι ιδανικό πρωτόκολλο για οικιακή χρήση. Δουλεύει native σε Mac, Windows και Linux χωρίς να εγκαταστήσεις τίποτα. Χειρίζεται σωστά τα δικαιώματα και η απόδοση σε gigabit ethernet είναι αρκετά γρήγορη για οτιδήποτε, συμπεριλαμβανομένου 4K video playback.
Backups και Snapshots
ZFS snapshots είναι η πρώτη γραμμή άμυνας. Το TrueNAS παίρνει αυτόματα snapshots κάθε dataset τακτικα. Καθημερινά για κάποια αρχεία, εβδομαδιαία για άλλα. Ένα snapshot είναι ένα αντίγραφο του dataset σε συγκεκριμένη χρονική στιγμή που δεν καταλαμβάνει σχεδόν καθόλου επιπλέον χώρο (αποθηκεύει μόνο ό,τι άλλαξε). Αν σβήσω κατά λάθος ένα αρχείο ή κάτι καταστραφεί, μπορώ να γυρίσω σε οποιοδήποτε snapshot σε δευτερόλεπτα.
Κρατάω ωριαία snapshots για 24 ώρες, ημερήσια snapshots για 30 μέρες και εβδομαδιαία snapshots για 4 μήνες. Όλα αυτά είναι ενσωματωμένα στο ZFS — δεν χρειάζεται επιπλέον software.
Off-site backup σε Cloud Storage: Τα snapshots είναι εξαιρετικά αλλά υπάρχουν στους ίδιους φυσικούς δίσκους με τα αρχέια. Αν το NAS πιάσει φωτιά ή και οι δύο δίσκοι χαλάσουν ταυτόχρονα (απίθανο με mirror, αλλά δυνατό), τα πάντα χάνονται. Γι' αυτό τρέχω ένα Python script καθημερινά που συγχρονίζει κρίσιμα datasets — έγγραφα, προσωπικούς φακέλους και σημαντικά configs — στο Cloud.
Config backups: Το ίδιο το config του TrueNAS γίνεται export περιοδικά στο cloud storage μου. Αν χρειαστεί ποτέ να ξαναεγκαταστήσω TrueNAS, μπορώ να κάνω import το config και τα πάντα — χρήστες, shares, προγράμματα snapshots — επιστρέφουν.
Συμβουλές για το TrueNAS
Διαχώρισε boot από data: Όταν το TrueNAS χρειάζεται update ή αν χαλάσεις κάτι στο OS, μπορείς να ξαναεγκαταστήσεις χωρίς να αγγίξεις το data pool σου. Το έμαθα αυτό από forums πριν κάνω εγώ το λάθος.
Το web UI είναι αρκετό: Διαχειρίζομαι σχεδόν τα πάντα μέσω του TrueNAS web interface. Σπάνια χρειάστηκα command line. Το UI χειρίζεται καλά datasets, snapshots, shares, χρήστες και υπηρεσίες.
Τι θα Έκανα Διαφορετικά
Τίποτα σημαντικό. Μόνο, θα ξεκινούσα νωρίτερα.Η μόνη λύπη είναι ότι οι NAS-rated δίσκοι και τα mini PCs είναι πολύ ακριβά τώρα (καλοκαίρι 2026).
Αυτό είναι μέρος της σειράς μου **Φτιάχνοντας Ένα Έξυπνο Σπίτι** — όπου καταγράφω τα πάντα που έφτιαξα, τι δούλεψε, τι χάλασε και τι έμαθα. Ακολουθήσε με για πρακτικά άρθρα που απευθύνονται σε developers που θέλουν να φτιάξουν πραγματικά συστήματα.



