Repository navigation
Easy Installation
Ελληνικά · English
Αυτός ο οδηγός είναι για όσους δεν είναι προγραμματιστές. Στο τέλος θα έχετε την Karta
να τρέχει σε ένα μικρό μηχάνημα, με ασφαλή σύνδεση (HTTPS) στο δικό σας όνομα, π.χ.
https://karta.tokatastimamou.gr, χωρίς να πειράξετε ρυθμίσεις στο router.
Θα χρειαστείτε περίπου μία ώρα την πρώτη φορά· τα περισσότερα τα κάνει ο οδηγός ρύθμισης (setup.sh). Αν κολλήσετε κάπου, δείτε τις
Συχνές ερωτήσεις ή ρωτήστε στις Συζητήσεις.
Αν είστε πιο έμπειρος, η σύντομη έκδοση είναι στην Εγκατάσταση.
| Τι | Κόστος | |
|---|---|---|
| 1 |
Ένα όνομα (domain), π.χ. tokatastimamou.gr
|
περίπου 10–20 € τον χρόνο (για δοκιμή υπάρχει και δωρεάν) |
| 2 | Ένα μηχάνημα που μένει ανοιχτό (δείτε παρακάτω) | 0 € (παλιό PC ή δωρεάν server στο cloud) ή ~60–100 € για Raspberry Pi |
| 3 | Δωρεάν λογαριασμό Cloudflare | 0 € |
| 4 | Χρήστη web services του ΕΡΓΑΝΗ (σας τον φτιάχνει ο λογιστής ή τον φτιάχνετε στο ΕΡΓΑΝΗ) | 0 € |
Δυστυχώς όχι για κανονική χρήση, για δύο λόγους:
- Η σελίδα διαχείρισης προστατεύεται από το Cloudflare Access, που λειτουργεί μόνο σε domain που έχετε εσείς στο Cloudflare.
- Η κάμερα για τις κάρτες QR και το cookie της οθόνης καταστήματος δουλεύουν μόνο με HTTPS, που το δίνει δωρεάν το Cloudflare για το domain σας.
Το domain είναι το μόνο σίγουρο έξοδο. Όλα τα υπόλοιπα μπορούν να είναι δωρεάν. Για να δοκιμάσετε την Karta πριν πληρώσετε, υπάρχουν και δωρεάν domain: δείτε το βήμα 1.
| Επιλογή | Υπέρ | Κατά |
|---|---|---|
| A. Raspberry Pi 4 ή 5 (2 GB RAM και πάνω), στο κατάστημα ή στο σπίτι | Μικρό, αθόρυβο, ~5 W ρεύμα (λίγα ευρώ τον χρόνο). Τα δεδομένα μένουν σε εσάς. | Κόστος αγοράς. Αν κοπεί ρεύμα ή internet εκεί, η Karta δεν είναι διαθέσιμη. |
| B. Παλιό laptop ή μικρό PC | Δωρεάν αν το έχετε ήδη. Το laptop έχει μπαταρία για διακοπές ρεύματος. | Περισσότερο ρεύμα· ίδιο θέμα με το internet. |
| C. Δωρεάν server στο cloud (VPS): Oracle Cloud «Always Free» | Πάντα ανοιχτό, γρήγορο internet, 0 €. | Θέλει κάρτα για επιβεβαίωση. Η εγγραφή μερικές φορές λέει «out of capacity». Το Oracle μπορεί να κλείσει μηχανήματα που δεν χρησιμοποιούνται σχεδόν καθόλου· κρατάτε αντίγραφα. Δεν είναι έτοιμη υπηρεσία: φτιάχνετε μόνοι σας έναν server με Ubuntu και συνδέεστε με SSH, όπως σε κάθε VPS. |
Προσοχή στα προσωπικά δεδομένα (GDPR): η Karta κρατά στοιχεία του προσωπικού σας. Αν διαλέξετε cloud, διαλέξτε περιοχή μέσα στην Ευρωπαϊκή Ένωση (π.χ. Frankfurt, Amsterdam, Milan).
Πού να μπει; Αν το μηχάνημα είναι στο κατάστημα, η οθόνη του καταστήματος μιλά με την Karta μέσα από το internet του καταστήματος. Αν πέσει το internet, η οθόνη το λέει και οι εργαζόμενοι χτυπούν από την εφαρμογή του ΕΡΓΑΝΗ. Αυτό ισχύει όπου κι αν βρίσκεται η Karta.
- Φτιάξτε δωρεάν λογαριασμό στο cloudflare.com.
- Αγοράστε ένα domain:
-
.com/.euκ.λπ.: απευθείας από το Cloudflare (Domain Registration → Register Domains), σε τιμή κόστους. Μπαίνει αυτόματα στο Cloudflare: πηγαίνετε στο βήμα 2. -
.gr: από έναν Έλληνα καταχωρητή (registrar). Μετά, στο Cloudflare πατήστε Add a domain, διαλέξτε το Free πλάνο, και το Cloudflare σας δίνει δύο nameservers. Στη σελίδα του καταχωρητή, αλλάξτε τους nameservers του domain σε αυτούς τους δύο. Η αλλαγή θέλει από λίγα λεπτά έως 24 ώρες· το Cloudflare σας στέλνει email όταν είναι έτοιμο.
-
Αν έχετε ήδη domain για το site σας, μπορείτε να χρησιμοποιήσετε ένα υπο‑όνομα του,
π.χ. karta.tokatastimamou.gr, χωρίς να επηρεαστεί το site.

Όταν το domain είναι έτοιμο, η σελίδα του στο Cloudflare γράφει «Your domain is now protected by Cloudflare».
Για να δοκιμάσετε την Karta χωρίς να αγοράσετε domain:
-
DigitalPlat FreeDomain: δωρεάν ονόματα όπως
karta-tokatastimamou.dpdns.org, σε λίγα λεπτά. Διαλέξτε κατάληξη.dpdns.org(ή.xx.kg/.qd.je). Το.qzz.ioθέλει πληρωμένη θέση, και σε άλλες καταλήξεις η εγγραφή μπορεί να είναι προσωρινά σταματημένη («This domain is paused register»). Πριν την εγγραφή πρέπει να ανοίξετε και να αποδεχτείτε τους όρους που δείχνει η σελίδα. - EU.org: δωρεάν και μόνιμο, αλλά η έγκριση γίνεται με το χέρι και μπορεί να πάρει μέρες ή εβδομάδες.
Μετά την εγγραφή: στο Cloudflare Add a domain → γράψτε ολόκληρο το όνομα (π.χ.
karta-tokatastimamou.dpdns.org) → Free πλάνο. Το Cloudflare σας δίνει δύο
nameservers (….ns.cloudflare.com): βάλτε τους στη σελίδα του domain στο DigitalPlat
(Nameservers / NS) και περιμένετε το email «active». Σε αυτή την περίπτωση η διεύθυνση
της Karta μπορεί να είναι το ίδιο το domain.
Για κανονική χρήση σε κατάστημα πάρτε πραγματικό domain. Οι δωρεάν υπηρεσίες μπορεί να αλλάξουν όρους ή να κλείσουν, και τότε σταματά και η οθόνη του καταστήματος. Η αλλαγή αργότερα είναι εύκολη: ξανατρέχετε το
./setup.shμε το νέο όνομα.
Διαλέξτε μία από τις τρεις επιλογές.
- Χρειάζεστε: Raspberry Pi 4 ή 5, το τροφοδοτικό του, κάρτα microSD 32 GB καλής ποιότητας (ή, καλύτερα, δίσκο SSD με USB), και καλώδιο δικτύου (προτιμότερο από Wi‑Fi).
- Σε έναν υπολογιστή, κατεβάστε το Raspberry Pi Imager.
- Διαλέξτε: συσκευή → το μοντέλο σας· λειτουργικό → Raspberry Pi OS Lite (64‑bit)· αποθήκευση → την κάρτα σας.
- Στις ρυθμίσεις (Edit settings) ορίστε: όνομα μηχανήματος (π.χ.
karta), όνομα χρήστη και κωδικό, και στην καρτέλα Services ενεργοποιήστε το SSH με κωδικό. - Γράψτε την κάρτα, βάλτε τη στο Pi, συνδέστε καλώδιο δικτύου και ρεύμα. Περιμένετε 2 λεπτά.
- Κατεβάστε το Ubuntu Server LTS και γράψτε το σε ένα USB με το balenaEtcher.
- Ξεκινήστε το PC από το USB και εγκαταστήστε το (οι προεπιλογές είναι εντάξει). Ορίστε όνομα χρήστη και κωδικό, και τσεκάρετε Install OpenSSH server.
- Σε laptop: ρυθμίστε να μην κοιμάται όταν κλείνει το καπάκι. Ρωτήστε μας αν χρειάζεστε βοήθεια· είναι μία ρύθμιση.
Εδώ νοικιάζετε (δωρεάν) έναν δικό σας εικονικό server με Ubuntu. Από εκεί και πέρα είναι
σαν το Raspberry Pi: συνδέεστε με ssh και κάνετε τα ίδια βήματα. Το ίδιο ισχύει για
οποιοδήποτε άλλο VPS (Hetzner, DigitalOcean κ.λπ.), απλώς με πληρωμή.
- Εγγραφείτε στο oracle.com/cloud/free. Στην εγγραφή διαλέξτε Home Region μέσα στην ΕΕ (δεν αλλάζει αργότερα).
-
Compute → Instances → Create instance:
- Image: Ubuntu (22.04 ή νεότερο)·
- Shape: Ampere (VM.Standard.A1.Flex), 1 OCPU και 6 GB μνήμη (μέσα στα δωρεάν όρια)·
- κατεβάστε το SSH key που σας δίνει (θα το χρειαστείτε για να συνδεθείτε).
- Πατήστε Create. Σημειώστε τη Public IP του μηχανήματος.
Δεν χρειάζεται να ανοίξετε καμία θύρα στο firewall του Oracle: το tunnel του Cloudflare συνδέεται προς τα έξω.
Από τον υπολογιστή σας ανοίξτε ένα τερματικό (Windows: PowerShell· Mac: Terminal) και συνδεθείτε:
ssh ONOMA_XRISTI@karta.local # Raspberry Pi στο ίδιο δίκτυο
ssh ONOMA_XRISTI@192.168.1.50 # ή με τη διεύθυνση IP του μηχανήματος
ssh -i kleidi.key ubuntu@PUBLIC_IP # Oracle CloudΚατεβάστε τον οδηγό ρύθμισης της Karta και τρέξτε τον:
mkdir ~/karta && cd ~/karta
curl -fsSLO https://raw.githubusercontent.com/osergios/karta/main/setup.sh
chmod +x setup.sh
./setup.shΑν δεν υπάρχει το Docker, ο οδηγός προτείνει να το εγκαταστήσει (ζητά τον κωδικό σας).
Μετά σας λέει να αποσυνδεθείτε (exit), να συνδεθείτε ξανά και να ξανατρέξετε
cd ~/karta && ./setup.sh.
Με αυτό το κλειδί ο οδηγός φτιάχνει μόνος του στο Cloudflare όλα όσα χρειάζεται η Karta:
το tunnel, τη διεύθυνση https://karta.… και την προστασία της σελίδας διαχείρισης.
-
Καθαρίστε το DNS: στο Cloudflare, στο domain σας, ανοίξτε DNS → Records. Αν υπάρχουν εγγραφές (A, AAAA ή CNAME) με το όνομα που θα έχει η Karta (π.χ.
karta.tokatastimamou.gr, ή το ίδιο το domain αν η Karta θα είναι εκεί) και δεν τις φτιάξατε εσείς, διαγράψτε τες. Ο οδηγός φτιάχνει τη σωστή εγγραφή. Αν η λίστα είναι άδεια, όλα καλά. -
Ενεργοποιήστε μία φορά το Zero Trust: στο Cloudflare πατήστε Zero Trust (αριστερό μενού), διαλέξτε ένα team name (π.χ.
tokatastimamou) και το Free πλάνο. Μπορεί να ζητήσει κάρτα, αλλά το Free πλάνο δεν χρεώνει. Αυτό χρειάζεται για την προστασία της σελίδας διαχείρισης. -
Πηγαίνετε στο My Profile → API Tokens → Create Token → Custom token → Get started (dash.cloudflare.com/profile/api-tokens).
-
Όνομα:
Karta setup. Στα Permissions προσθέστε αυτές τις πέντε γραμμές (πατήστε + Add more για κάθε νέα γραμμή· σε κάθε γραμμή διαλέγετε από τρεις λίστες):Account Cloudflare Tunnel Edit Account Access: Apps and Policies Edit Account Access: Organizations, Identity Providers, and Groups Read Zone DNS Edit Zone Zone Read -
Στο Zone Resources διαλέξτε Include → Specific zone → το domain σας. Τα υπόλοιπα (Client IP Address Filtering, TTL) αφήστε τα όπως είναι.
-
Πατήστε Continue to summary → Create Token και αντιγράψτε το κλειδί (εμφανίζεται μία φορά). Κρατήστε το σε ένα σημειωματάριο μέχρι το βήμα 5, και μην το στείλετε σε κανέναν: όποιος το έχει μπορεί να αλλάξει το Cloudflare σας.
Ο οδηγός δεν αποθηκεύει το κλειδί. Όταν τελειώσετε, μπορείτε να το διαγράψετε από την ίδια σελίδα, ή να το κρατήσετε για να ξανατρέξετε τον οδηγό αργότερα.
Δεν θέλετε κλειδί; Απαντήστε «ο» στο «Να γίνει αυτόματα;». Ακολουθήστε μόνο τα «Φτιάξτε το Cloudflare Tunnel» και «Προστατέψτε τη σελίδα διαχείρισης» της χειροκίνητης εγκατάστασης. Ο οδηγός μετά σας ζητά το team domain, το AUD tag και το token του tunnel.
Ο οδηγός ρωτά μόνο όσα χρειάζονται για να ανοίξει η Karta με ασφάλεια, στα ελληνικά:
-
Διεύθυνση και διαχειριστές: π.χ.
karta.tokatastimamou.gr, και τα email που μπορούν να μπαίνουν στη σελίδα διαχείρισης (οποιοδήποτε email διαβάζετε· το Cloudflare στέλνει εκεί κωδικό σύνδεσης). - Cloudflare: πρώτα πού τρέχει η Karta: «1» στο κατάστημα ή στο σπίτι (Raspberry Pi, παλιό PC/laptop, server στο τοπικό δίκτυο) ή «2» σε VPS / cloud server. Στο «1» το tunnel συνδέεται με HTTP/2, που δουλεύει σταθερά πίσω από router σπιτιού ή καταστήματος (με το QUIC/HTTP/3 πολλά router κάνουν τις σελίδες αργές)· στο «2» αυτόματα (QUIC/HTTP/3, με HTTP/2 αν χρειαστεί). Μετά επικολλάτε το κλειδί του βήματος 4 και ο οδηγός φτιάχνει tunnel, διεύθυνση και προστασία, δείχνοντας ✓ σε κάθε βήμα.
Μετά γράφει το αρχείο ρυθμίσεων (.env), ξεκινά την Karta, ρωτά αν θέλετε αυτόματο
αντίγραφο ασφαλείας κάθε βράδυ στις 23:30 (απαντήστε «ν», συνιστάται· μαζί αντιγράφεται
και το .env ως karta.env) και προτείνει αντίγραφο σε USB (το αντίγραφο στο cloud
ρυθμίζεται στη σελίδα διαχείρισης· δείτε το βήμα 8).
ΑΦΜ, χρήστης ΕΡΓΑΝΗ, ειδοποιήσεις στο κινητό και λειτουργία ρυθμίζονται μετά, από τη
σελίδα διαχείρισης (βήμα 7). Η Karta ξεκινά πάντα σε
δοκιμαστική λειτουργία (dry_run): δεν στέλνεται τίποτα στο ΕΡΓΑΝΗ μέχρι να το
αποφασίσετε.
Μπορείτε να ξανατρέξετε το ./setup.sh όποτε θέλετε για να αλλάξετε κάτι: οι τωρινές τιμές
προτείνονται ως προεπιλογές, και το παλιό αρχείο κρατιέται ως αντίγραφο.
Περιμένετε ένα λεπτό και τρέξτε:
cd ~/karta && ./setup.sh checkΕλέγχει τις ρυθμίσεις, το Cloudflare, ότι η Karta απαντά στη διεύθυνσή σας, και ότι η
σελίδα διαχείρισης είναι προστατευμένη. Για κάθε πρόβλημα λέει τι να κάνετε. Τη σύνδεση
στο ΕΡΓΑΝΗ τη δοκιμάζει μόνο αν ο χρήστης ΕΡΓΑΝΗ είναι στο .env· αλλιώς δοκιμάστε την
με τη «Δοκιμή σύνδεσης» στη σελίδα διαχείρισης (βήμα 7).
Μετά ανοίξτε στον browser το https://karta.tokatastimamou.gr/admin: το Cloudflare ζητά το
email σας, σας στέλνει κωδικό, και βλέπετε τη σελίδα διαχείρισης.
Στην καρτέλα «Σήμερα» της διαχείρισης υπάρχει η λίστα «Πρώτα βήματα». Κάθε βήμα έχει κουμπί «Πάμε» που σας πηγαίνει στο σωστό σημείο, και τσεκάρεται μόνο του όταν γίνει:
- Σύνδεση με το ΕΡΓΑΝΗ: στις «Ρυθμίσεις» → «Επιχείρηση και σύνδεση με το ΕΡΓΑΝΗ» γράψτε το ΑΦΜ, τον αριθμό παραρτήματος (συνήθως 0) και τον χρήστη web services του ΕΡΓΑΝΗ (όνομα, κωδικός, τύπος). Πατήστε «Δοκιμή σύνδεσης» (μόνο ανάγνωση, δεν υποβάλλεται τίποτα) και «Αποθήκευση». Ο κωδικός φυλάσσεται κρυπτογραφημένος.
- Στοιχεία επιχείρησης (όνομα, χρώματα: έτοιμα θέματα ή δικά σας, λογότυπο· δείτε Ρυθμίσεις)
- Προσωπικό από το ΕΡΓΑΝΗ («Έλεγχος ΕΡΓΑΝΗ»)
- Ωράρια: το ΕΡΓΑΝΗ συνήθως δίνει μόνο πόσες ώρες την εβδομάδα δουλεύει ο καθένας, όχι τις ώρες κάθε ημέρας. Γράψτε το ωράριο κάθε ημέρας από το πρόγραμμα που σας δίνει ο λογιστής· η Karta δείχνει αν το σύνολο ταιριάζει με το ΕΡΓΑΝΗ.
- Αργίες της περιοχής
- Οθόνη καταστήματος (εγγραφή του laptop ή tablet: Οθόνη καταστήματος)
- Ειδοποιήσεις στο κινητό: στις «Ρυθμίσεις» → «Ειδοποιήσεις στο κινητό» (εφαρμογή ntfy), με κουμπί για δοκιμαστική ειδοποίηση
- Αντίγραφα ασφαλείας εκτός μηχανήματος (βήμα 8)
- Δοκιμή με το προσωπικό: όλοι χτυπούν κάρτα στη «Δοκιμαστική» λειτουργία (Δοκιμή με το προσωπικό)
- Έναρξη στο ΕΡΓΑΝΗ: «Ρυθμίσεις» → «Επιχείρηση και σύνδεση με το ΕΡΓΑΝΗ» → «Λειτουργία» (Έναρξη κανονικής λειτουργίας)
Τα χτυπήματα πρέπει να φυλάσσονται για τουλάχιστον 5 χρόνια. Αν απαντήσατε «ν» στο
αντίγραφο κάθε βράδυ (συνιστάται), ο οδηγός έχει ήδη βάλει αντίγραφο κάθε βράδυ στις
23:30 στον φάκελο ~/karta/backups (30 ημερήσια, 24 μηνιαία και ένα για κάθε έτος, μαζί
με αντίγραφο του .env ως karta.env). Αν απαντήσατε «ο», ξανατρέξτε το ./setup.sh.
Αν όμως χαλάσει η κάρτα του Raspberry Pi ή ο δίσκος, χάνονται μαζί. Γι'
αυτό βάλτε και ένα αντίγραφο εκτός μηχανήματος, ένα ή και τα δύο:
- Κρυπτογραφημένο στο cloud (Google Drive, Dropbox ή Backblaze B2): από τη σελίδα διαχείρισης, «Ρυθμίσεις» → «Αντίγραφα ασφαλείας». Η σελίδα σας δείχνει τα βήματα, και στο τέλος έναν κωδικό κρυπτογράφησης: γράψτε τον κάπου ασφαλές, εκτός καταστήματος. Χωρίς αυτόν τα αντίγραφα δεν ανοίγουν ποτέ, και δεν ανακτάται με κανέναν τρόπο (δείτε Αντίγραφα ασφαλείας). Σε VPS / cloud server (π.χ. Oracle Cloud) είναι ο μόνος τρόπος, γιατί δεν υπάρχει USB.
-
Σε USB stick στο μηχάνημα:
cd ~/karta && ./setup.sh usb(μία φορά, από το τερματικό).
Στην ίδια σελίδα φαίνεται το αποτέλεσμα κάθε βραδιού, και υπάρχουν η λήψη αντιγράφου, το «Αρχείο χτυπημάτων» κάθε έτους σε Excel και η επαναφορά (από αρχείο ή από το cloud). Όλες οι λεπτομέρειες: Αντίγραφα ασφαλείας και επαναφορά.
Όταν βγει νέα έκδοση, η σελίδα διαχείρισης το γράφει στις «Ρυθμίσεις» → «Έκδοση και ενημέρωση», με σύνδεσμο «Τι αλλάζει». Πατήστε «Ενημέρωση τώρα»: μέσα σε δύο λεπτά γίνεται αντίγραφο ασφαλείας, κατεβαίνει η νέα έκδοση και η Karta ξαναξεκινά (είναι εκτός για περίπου ένα λεπτό). Η σελίδα ξαναφορτώνει μόνη της, και η οθόνη του καταστήματος επίσης.
Αν η νέα έκδοση δεν ξεκινήσει σωστά μέσα σε δύο λεπτά, η Karta επιστρέφει μόνη της στην
προηγούμενη και η σελίδα γράφει «απέτυχε — επέστρεψε στην …». Η έκδοση που τρέχει
γράφεται στο .env (KARTA_VERSION).
Το κουμπί δουλεύει χάρη στο update.sh, που βάζει ο οδηγός ρύθμισης στο μηχάνημα: η ίδια η
Karta δεν έχει ποτέ πρόσβαση στο Docker, για ασφάλεια. Χωρίς αυτό (ή από το τερματικό):
cd ~/karta && ./setup.sh updateΑν προτιμάτε να κάνετε τα πάντα με το χέρι, αυτά είναι τα βήματα που κάνει ο οδηγός.
Από τον υπολογιστή σας ανοίξτε ένα τερματικό (Windows: PowerShell· Mac: Terminal) και συνδεθείτε:
ssh ONOMA_XRISTI@karta.local # Raspberry Pi στο ίδιο δίκτυο
ssh ONOMA_XRISTI@192.168.1.50 # ή με τη διεύθυνση IP του μηχανήματος
ssh -i kleidi.key ubuntu@PUBLIC_IP # Oracle CloudΜετά, αντιγράψτε και τρέξτε αυτές τις εντολές μία μία:
sudo apt update && sudo apt -y upgrade
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER
exitΣυνδεθείτε ξανά με ssh (ώστε να ισχύσει η τελευταία εντολή) και ελέγξτε:
docker run --rm hello-worldΑν δείτε «Hello from Docker!», όλα είναι εντάξει.
Το tunnel είναι μια ασφαλής «γραμμή» από το μηχάνημά σας προς το Cloudflare. Έτσι η Karta
είναι προσβάσιμη στο https://karta.tokatastimamou.gr χωρίς ανοιχτές θύρες στο router.
- Στο Cloudflare, ανοίξτε το Zero Trust (από το αριστερό μενού). Την πρώτη φορά:
διαλέξτε ένα team name (π.χ.
tokatastimamou) και το Free πλάνο (έως 50 χρήστες). Μπορεί να ζητήσει κάρτα, αλλά το Free πλάνο δεν χρεώνει. - Πηγαίνετε στο Networks → Tunnels → Create a tunnel → Cloudflared. Δώστε όνομα
(π.χ.
karta) και πατήστε Save. - Στη σελίδα που ανοίγει υπάρχει μια εντολή με ένα μακρύ token (μετά το
--token). Αντιγράψτε μόνο το token και φυλάξτε το· δεν χρειάζεται να τρέξετε την εντολή. - Πατήστε Next. Στο Public hostname:
- Subdomain:
karta· Domain: το domain σας· - Service: Type
HTTP, URLkarta:8000.
- Subdomain:
- Πατήστε Save tunnel.
Τα ονόματα των μενού του Cloudflare αλλάζουν κάπου κάπου. Αν δεν βρίσκετε κάτι, ψάξτε «Tunnels» μέσα στο Zero Trust.
- Στο Zero Trust: Access → Applications → Add an application → Self‑hosted.
- Όνομα:
Karta admin. Στο Public hostname / Application domain: subdomainkarta, domain το δικό σας, και στο Path γράψτεadmin. - Προσθέστε policy: Action Allow, κανόνας Emails → το δικό σας email (και όποιου άλλου θέλετε να έχει πρόσβαση).
- Αποθηκεύστε. Ως τρόπος σύνδεσης αρκεί ο προκαθορισμένος One‑time PIN (σας έρχεται κωδικός στο email).
- Ανοίξτε την εφαρμογή που φτιάξατε και αντιγράψτε το Application Audience (AUD) Tag. Θα το χρειαστείτε στο επόμενο βήμα.
Στο μηχάνημα (μέσω ssh):
mkdir ~/karta && cd ~/karta
curl -fsSLO https://raw.githubusercontent.com/osergios/karta/main/docker-compose.yml
curl -fsSL https://raw.githubusercontent.com/osergios/karta/main/.env.example -o .env
python3 -c "import os,base64;print(base64.urlsafe_b64encode(os.urandom(32)).decode())"
nano .envΗ τρίτη εντολή τυπώνει ένα τυχαίο κλειδί: αντιγράψτε το για το PIN_KEY. Στο nano
συμπληρώστε (μετακινηθείτε με τα βελάκια):
| Γραμμή | Τι βάζετε |
|---|---|
ERGANI_MODE= |
dry_run (στην αρχή πάντα αυτό) |
CF_ACCESS_TEAM_DOMAIN= |
tokatastimamou.cloudflareaccess.com (το team name σας + .cloudflareaccess.com) |
CF_ACCESS_AUD= |
το AUD tag από την «Προστασία της σελίδας διαχείρισης» |
ADMIN_EMAILS= |
το email σας (το ίδιο με την policy) |
PUBLIC_ORIGIN= |
https://karta.tokatastimamou.gr |
PIN_KEY= |
το κλειδί που τύπωσε η εντολή |
COMPOSE_PROFILES= |
tunnel (ξεκινά το tunnel μαζί με την Karta) |
TUNNEL_TOKEN= |
το token από το «Cloudflare Tunnel» |
TUNNEL_PROTOCOL= |
http2 για μηχάνημα στο κατάστημα ή στο σπίτι, auto σε VPS |
Αποθηκεύστε με Ctrl+O, Enter, και βγείτε με Ctrl+X. Το .env περιέχει
κωδικούς: μην το στείλετε πουθενά.
ΑΦΜ, χρήστη ΕΡΓΑΝΗ και ειδοποιήσεις στο κινητό τα συμπληρώνετε μετά, στη σελίδα
διαχείρισης («Ρυθμίσεις»). Αν προτιμάτε, μπαίνουν και εδώ (EMPLOYER_AFM, BRANCH_NUMBER,
ERGANI_USERNAME, ERGANI_PASSWORD, NTFY_*)· δείτε Ρυθμίσεις server.
cd ~/karta
docker compose up -d
docker compose psΚαι οι δύο γραμμές (karta και cloudflared) πρέπει να γράφουν running ή Up.
Μετά από ένα λεπτό, ανοίξτε στον browser:
-
https://karta.tokatastimamou.gr/healthz→ πρέπει να δείτε{"ok":true,"mode":"dry_run"}. -
https://karta.tokatastimamou.gr/admin→ το Cloudflare ζητά το email σας, σας στέλνει κωδικό, και μετά βλέπετε τη σελίδα διαχείρισης.
Η Karta ξεκινά μόνη της κάθε φορά που ανοίγει το μηχάνημα.
Κάτι δεν πάει καλά; Δείτε τι λέει:
docker compose logs --tail 50 karta
docker compose logs --tail 50 cloudflaredΣυνηθισμένα λάθη: λάθος ή κενή τιμή στο .env (η Karta γράφει ποια λείπει), λάθος token
στο tunnel, ή λάθος PUBLIC_ORIGIN (πρέπει να είναι ακριβώς η διεύθυνση, με https://
και χωρίς / στο τέλος).
Στο τέλος, για το κουμπί «Ενημέρωση τώρα» και το αντίγραφο κάθε βράδυ, κατεβάστε τον οδηγό στον ίδιο φάκελο και τρέξτε τον:
cd ~/karta
curl -fsSLO https://raw.githubusercontent.com/osergios/karta/main/setup.sh
chmod +x setup.sh
./setup.sh updateΤο ./setup.sh update βάζει το update.sh (κουμπί «Ενημέρωση τώρα») και το backup.sh.
Για να γίνεται το αντίγραφο αυτόματα κάθε βράδυ, τρέξτε μία φορά το ./setup.sh: κρατά
τις τιμές του .env σας ως προεπιλογές και ρωτά για το νυχτερινό αντίγραφο.
Εγκατάσταση
- Εύκολη εγκατάσταση
- Εγκατάσταση
- Ρυθμίσεις server
- Δικός σας reverse proxy
- Έναρξη λειτουργίας
- Αντίγραφα ασφαλείας
- Ανάκτηση μετά από καταστροφή
Οθόνη καταστήματος
Σελίδα διαχείρισης
Πώς λειτουργεί
Home · Easy installation · Installation · Configuration · Reverse proxy · Going live · Backups · Disaster recovery · Shop screen · QR cards · Today · Schedules · Reports · Settings · Ergani · Alerts · Security · FAQ · Disclaimer