Ξεκίνα τον desktop launcher¶
Οι περισσότεροι χρήστες δεν χρειάζονται τον launcher
Ο Adaptive Learner τρέχει απευθείας στο πρόγραμμα περιήγησης, χωρίς εγκατάσταση, χωρίς Docker, χωρίς launcher: astrapi69.github.io/adaptive-learner. Ο desktop launcher είναι μόνο για σένα, αν θέλεις να φιλοξενήσεις ο ίδιος την εφαρμογή (self-hosting) ή να τρέξεις τοπικά λειτουργίες backend (λειτουργία διακομιστή, τοπικός συγχρονισμός).
Ο desktop launcher είναι ο ευκολότερος τρόπος να τρέξεις τον Adaptive
Learner με το δικό του backend στον δικό σου υπολογιστή. Είναι ένα
μικρό παράθυρο που κάνει όλα τα υπόλοιπα για σένα: ελέγχει ότι το Docker
τρέχει, κατεβάζει και κάνει build το image της εφαρμογής στην πρώτη
εκκίνηση (μία φορά, 5-10 λεπτά είναι φυσιολογικά), ξεκινά τα containers,
και μετά ανοίγει την εφαρμογή στο πρόγραμμα περιήγησής σου στο
http://localhost:8501. Από το ίδιο παράθυρο μπορείς επίσης να σταματήσεις
την εφαρμογή, να αλλάξεις τη θύρα ή να τα απεγκαταστήσεις όλα.
Η θύρα είναι εξ ορισμού η 8501 και μπορεί να αλλάξει στο παράθυρο του launcher· αν είναι κατειλημμένη, ο launcher καταφεύγει σε μια ελεύθερη θύρα.
Ποιος μπορεί να φτάσει στην εφαρμογή¶
Από προεπιλογή η εφαρμογή είναι προσβάσιμη μόνο από αυτόν τον
υπολογιστή (127.0.0.1). Αυτό είναι σκόπιμο: δεν έχει σύνδεση χρήστη
και μέσα της βρίσκονται τα κλειδιά σου για τους παρόχους τεχνητής
νοημοσύνης. Αν ήταν ορατή στο δίκτυο, οποιαδήποτε συσκευή του ίδιου
δικτύου - ένα εταιρικό δίκτυο, το wifi ενός ξενοδοχείου ή ενός συνεδρίου
- θα μπορούσε απλώς να την ανοίξει και να τη χρησιμοποιήσει.
Η πρόσβαση από άλλη συσκευή, π.χ. από το κινητό σου στο δικό σου wifi,
παραμένει δυνατή αλλά γίνεται συνειδητή επιλογή: όρισε
ADAPTIVE_LEARNER_BIND_ADDRESS=0.0.0.0 στο αρχείο .env. Κάνε το μόνο
σε δίκτυο που εμπιστεύεσαι και θυμήσου ότι τότε όλοι όσοι βρίσκονται σε
αυτό έχουν την ίδια πρόσβαση με εσένα.
Προϋπόθεση: Docker - ο launcher το ελέγχει μόνος του¶
Ο launcher απαιτεί ένα Docker που τρέχει, γιατί η ίδια η εφαρμογή τρέχει ως ομάδα containers. Δεν χρειάζεται να επαληθεύσεις τίποτα με το χέρι: κατά την εκκίνηση ο ίδιος ο launcher ελέγχει αν το Docker είναι εγκατεστημένο και τρέχει, βρίσκει επίσης ένα Docker που τρέχει κάτω από διαφορετικό Docker context (όπως το Docker Desktop για Linux ή το rootless Docker), και δείχνει ένα σαφές μήνυμα με λύση όταν κάτι λείπει. Αν το Docker δεν είναι καθόλου εγκατεστημένο ακόμη: Εγκατάσταση του Docker Desktop.
Τα μηνύματα του launcher και τι σημαίνουν:
| Μήνυμα | Σημασία | Λύση |
|---|---|---|
| "Το Docker δεν είναι εγκατεστημένο (το docker δεν είναι στο PATH)." | Η εντολή docker δεν βρέθηκε. |
Εγκατάσταση του Docker Desktop. Ο launcher δείχνει τον σύνδεσμο εγκατάστασης απευθείας. |
| "Το Docker είναι εγκατεστημένο αλλά δεν έχει ξεκινήσει." ή "Το Docker δεν τρέχει. Ελέγχθηκε το context '...' (...): ..." | Η υπηρεσία Docker δεν τρέχει αυτή τη στιγμή· η αναλυτική μορφή αναφέρει το context που ελέγχθηκε, το socket και το αρχικό σφάλμα του Docker. | Κάνε κλικ στο κουμπί "Έναρξη Docker" στον launcher (Linux) ή άνοιξε το Docker Desktop (macOS/Windows), και μετά "Δοκίμασε ξανά". |
| "Το Docker είναι εγκατεστημένο, αλλά δεν έχεις δικαίωμα." | Ο χρήστης σου δεν είναι στην ομάδα docker (Linux). |
Ο launcher δείχνει την ακριβή εντολή· μετά αποσυνδέσου και συνδέσου ξανά. |
| "Το Docker δεν αποκρίνεται." | Το Docker πιθανότατα ξεκινά ακόμη (τυπικό αμέσως μετά το άνοιγμα του Docker Desktop). | Περίμενε λίγο, μετά "Δοκίμασε ξανά". |
| "Το Docker τρέχει μέσω του context '...' - το ενεργό context δεν ήταν προσβάσιμο, ο launcher συνδέθηκε αυτόματα." | Απλώς ενημερωτικό: το Docker έτρεχε κάτω από διαφορετικό context, ο launcher το βρήκε και το χρησιμοποιεί. | Δεν χρειάζεται να κάνεις τίποτα. |
| "Το Docker Desktop είναι εγκατεστημένο αλλά όχι στο PATH." | Η εφαρμογή Docker Desktop υπάρχει, αλλά το εργαλείο γραμμής εντολών της δεν είναι (ακόμη) προσβάσιμο. | Ξεκίνα το Docker Desktop μέσω του κουμπιού του launcher και περίμενε λίγο. |
Ο εντοπισμός context με τα αναλυτικά μηνύματα περιλαμβάνεται στην έκδοση του launcher που ακολουθεί το docker-app-launcher#26· οι παλαιότερες εκδόσεις δείχνουν τα συντομότερα μηνύματα από τον ίδιο πίνακα.
Λήψη¶
Και οι τρεις launchers διατίθενται με κάθε έκδοση στο github.com/astrapi69/adaptive-learner/releases:
| Πλατφόρμα | Αρχείο | Άθροισμα ελέγχου |
|---|---|---|
| Linux | adaptive-learner-launcher |
adaptive-learner-launcher.sha256 |
| macOS | adaptive-learner-launcher-macos.zip |
adaptive-learner-launcher-macos.zip.sha256 |
| Windows | adaptive-learner-launcher.exe |
adaptive-learner-launcher.exe.sha256 |
Τι είναι επαληθευμένο και τι όχι¶
Καθένα από αυτά τα προγράμματα εκκινείται μία φορά κατά την κατασκευή του, ακριβώς στο λειτουργικό σύστημα για το οποίο προορίζεται. Έτσι είναι τεκμηριωμένο ότι ξεκινά: σε Linux, σε Windows και σε macOS με Apple Silicon. Η εικόνα της εφαρμογής επαληθεύεται σε κάθε έκδοση: μια ανώνυμη λήψη (χωρίς σύνδεση) και μια πραγματική εκκίνηση με έλεγχο υγείας, χωριστά για τους δύο τύπους επεξεργαστή (Intel/AMD και ARM), σε μηχανήματα του αντίστοιχου τύπου. Αυτό που δεν έχει ακόμη μετρηθεί είναι η λήψη από το μητρώο σε πολύ παλιές μηχανές Docker (εποχής 20.10)· η ίδια η αλυσίδα της μηχανής είναι αποδεδειγμένη σε τέτοια μηχανή απέναντι σε άλλο μητρώο, και η μέτρηση απέναντι στο μητρώο του GitHub παρακολουθείται upstream.
Αυτό που δεν είναι τεκμηριωμένο είναι πώς αντιδρά το λειτουργικό σου σύστημα σε ένα κατεβασμένο αρχείο: τα προγράμματα δεν φέρουν πληρωμένη υπογραφή, οπότε το macOS προειδοποιεί στο πρώτο άνοιγμα («μη αναγνωρισμένος προγραμματιστής») και τα Windows εμφανίζουν την ειδοποίηση SmartScreen. Πρόκειται για προειδοποίηση, όχι για ελάττωμα· πώς την επιβεβαιώνεις μία φορά περιγράφεται παρακάτω στα macOS και Windows. Έλεγξε πρώτα το άθροισμα ελέγχου: είναι πιο αξιόπιστη απόδειξη από οποιονδήποτε διάλογο.
Linux¶
-
Επαλήθευσε το άθροισμα ελέγχου (και τα δύο αρχεία στον ίδιο φάκελο):
-
Δώσε δικαίωμα εκτέλεσης. Η λήψη μέσω προγράμματος περιήγησης το αφαιρεί πάντα από το binary, οπότε αυτό το βήμα είναι πάντα απαραίτητο:
-
Ξεκίνα το, ευκολότερα από το terminal:
Το διπλό κλικ στον διαχειριστή αρχείων μπορεί επίσης να λειτουργήσει, ανάλογα με το περιβάλλον σου· το GNOME/Nautilus απαιτεί "Allow executing file as program" στις Ιδιότητες > Δικαιώματα. Η εκκίνηση από το terminal έχει το πλεονέκτημα ότι βλέπεις τα μηνύματα σφάλματος απευθείας.
Γνωστές παγίδες:
- "Permission denied": παραλείφθηκε το βήμα 2 (
chmod +x). - Σφάλμα GLIBC κατά την εκκίνηση: το binary φτιάχνεται σε Ubuntu
22.04 και χρειάζεται glibc 2.35 ή νεότερη (Ubuntu 22.04+, Debian 12+,
Fedora 36+). Σε παλαιότερες διανομές τρέξε την εφαρμογή μέσω
install.shή απευθείας μέσω Docker Compose. - Η εφαρμογή δεν είναι προσβάσιμη στο πρόγραμμα περιήγησης: Αν το
πρόγραμμα περιήγησης δεν ανοίξει αυτόματα, άνοιξε το
http://localhost:8501με το χέρι (ή τη θύρα που εμφανίζεται στο παράθυρο του launcher). Από προεπιλογή η εφαρμογή ακούει μόνο στο127.0.0.1, άρα είναι προσβάσιμη μόνο από αυτόν τον υπολογιστή· άλλες συσκευές τη φτάνουν μόνο αν ενεργοποιήσεις σκόπιμα την πρόσβαση δικτύου - δες «Ποιος μπορεί να φτάσει στην εφαρμογή» παραπάνω.
macOS¶
-
Επαλήθευσε το άθροισμα ελέγχου και αποσυμπίεσε το ZIP:
-
Στο πρώτο άνοιγμα το macOS μπλοκάρει το πρόγραμμα. Ανάλογα με την έκδοση, ο διάλογος προσφέρει μόνο "Μεταφορά στα απορρίμματα" και "Τέλος", χωρίς κουμπί ανοίγματος. Δεν πρόκειται για σφάλμα ούτε για ελάττωμα του προγράμματος: το Adaptive Learner δεν είναι πιστοποιημένο από την Apple, κάτι που απαιτεί επί πληρωμή λογαριασμό προγραμματιστή.
Πώς το ανοίγεις παρ' όλα αυτά:
1. Κλείσε τον διάλογο με **Τέλος** (όχι μεταφορά στα απορρίμματα).
2. Άνοιξε **Ρυθμίσεις συστήματος > Απόρρητο και ασφάλεια** και
κύλισε προς τα κάτω.
3. Εκεί εμφανίζεται η ειδοποίηση ότι το πρόγραμμα μπλοκαρίστηκε, με
το κουμπί **Άνοιγμα ούτως ή άλλως**. Πάτησέ το και επιβεβαίωσε
στον επόμενο διάλογο.
Κάθε επόμενη εκκίνηση γίνεται χωρίς ερώτηση.
Εδώ το άθροισμα ελέγχου του βήματος 1 είναι η πραγματική σου ασφάλεια: το σύστημα δεν μπορεί να σου επιβεβαιώσει την προέλευση του αρχείου - ένα άθροισμα που ταιριάζει, μπορεί.
Windows¶
-
Επαλήθευσε το άθροισμα ελέγχου (PowerShell, και τα δύο αρχεία στον ίδιο φάκελο):
Get-FileHash .\adaptive-learner-launcher.exe -Algorithm SHA256 Get-Content .\adaptive-learner-launcher.exe.sha256Οι δύο τιμές hash πρέπει να ταιριάζουν.
-
Κάνε διπλό κλικ στο
adaptive-learner-launcher.exe. Στην πρώτη εκκίνηση το SmartScreen προειδοποιεί ("Windows protected your PC"): κάνε κλικ στο More info, μετά στο Run anyway.
Αν κάτι πάει στραβά¶
- Ο ίδιος ο launcher εμφανίζει έναν διάλογο ειδοποίησης όταν το Docker δεν τρέχει και προσφέρει να ξεκινήσει το Docker Desktop.
- Η πρώτη εκκίνηση κατεβάζει και κάνει build το image της εφαρμογής· η λίστα βημάτων στο παράθυρο του launcher (Check Docker / Download / Build / Start / Ready) δείχνει την πρόοδο. Οι επόμενες εκκινήσεις είναι γρήγορες.
- Όσο τρέχει η εφαρμογή μπορείς πάντα να τη φτάσεις στο
http://localhost:8501(ή τη θύρα που άλλαξες)· το κουμπί "Άνοιγμα στο πρόγραμμα περιήγησης" στον launcher κάνει το ίδιο.