Repository navigation
Configuration
Ελληνικά · English
Όλες οι ρυθμίσεις του server βρίσκονται στο αρχείο .env (ξεκινήστε από το
.env.example). Μετά από κάθε αλλαγή, επανεκκινήστε την εφαρμογή με
cd ~/karta && docker compose up -d. Μην ανεβάσετε ποτέ το πραγματικό σας .env στο
GitHub: περιέχει τον κωδικό του ΕΡΓΑΝΗ και κλειδιά.
Από τη σελίδα διαχείρισης: η λειτουργία (
ERGANI_MODE), το ΑΦΜ, το παράρτημα, ο κωδικός εργοδότη στο QR του ΕΡΓΑΝΗ (ERGANI_EMPLOYER_ID), το σύστημα δήλωσης υπερωριών (TIME_DECLARATION), οι χρήστες του ΕΡΓΑΝΗ και οι ειδοποιήσεις στο κινητό (NTFY_*) ρυθμίζονται και στις «Ρυθμίσεις» της σελίδας διαχείρισης, χωρίς επανεκκίνηση. Ό,τι αποθηκεύεται εκεί υπερισχύει του.env(η σελίδα γράφει «από το .env» δίπλα σε ό,τι έρχεται από εδώ). Άρα, αν μια τιμή έχει αποθηκευτεί στη σελίδα, η αλλαγή της στο.envδεν αλλάζει τίποτα. Οι κωδικοί που αποθηκεύονται εκεί κρυπτογραφούνται με τοPIN_KEY.
Οι κανόνες της καθημερινής λειτουργίας, όπως ευελιξία, προθεσμία υπερωρίας και εβδομαδιαία όρια, δεν ρυθμίζονται εδώ. Βρίσκονται στη σελίδα διαχείρισης, στο «Ρυθμίσεις» → «Όρια και ειδοποιήσεις».
| Μεταβλητή | Υποχρεωτική | Τι σημαίνει |
|---|---|---|
ERGANI_MODE |
όχι (προεπιλογή dry_run) |
dry_run, trial ή production. Δείτε Έναρξη κανονικής λειτουργίας. Η διεύθυνση του ΕΡΓΑΝΗ προκύπτει από τη λειτουργία· μην τη ρυθμίσετε μόνοι σας. |
ERGANI_USERNAME / ERGANI_PASSWORD
|
για production (και για να φέρετε το προσωπικό) |
Ο χρήστης web services της επιχείρησης στο ΕΡΓΑΝΗ. |
ERGANI_USER_TYPE |
όχι (προεπιλογή 01) |
01 = χρήστης API / εξωτερικός χρήστης, 02 = χρήστης «ΕΡΓΑΝΗ» από τους «Εξωτερικούς Χρήστες Παραρτημάτων». |
ERGANI_TRIAL_USERNAME / ERGANI_TRIAL_PASSWORD
|
όχι | Χρήστης του δοκιμαστικού περιβάλλοντος του ΕΡΓΑΝΗ (trialv2eservices.yeka.gr, σύνδεση με TaxisNet του εργοδότη). Αν τα αφήσετε κενά, στο trial χρησιμοποιείται ο κανονικός χρήστης (ERGANI_USERNAME). |
ERGANI_TRIAL_USER_TYPE |
όχι (προεπιλογή 02) |
Όπως παραπάνω, για τον δοκιμαστικό χρήστη. |
EMPLOYER_AFM |
για trial / production
|
Το ΑΦΜ του εργοδότη (9 ψηφία). |
BRANCH_NUMBER |
όχι (προεπιλογή 0) |
Ο αριθμός παραρτήματος (Α/Α παραρτήματος). |
TIME_DECLARATION |
όχι |
advance (προαναγγελία, προεπιλογή) ή retro (απολογιστικό σύστημα): πώς δηλώνει η επιχείρηση στο ΕΡΓΑΝΗ αλλαγές ωραρίου και υπερωρίες. Δείτε Ρυθμίσεις. |
ERGANI_EMPLOYER_ID |
όχι | Ο κωδικός σας μέσα στο QR εργαζομένου του ΕΡΓΑΝΗ (το id:). Όταν οριστεί, η οθόνη του καταστήματος δεν δέχεται QR ΕΡΓΑΝΗ άλλου εργοδότη. |
Στο
dry_runδεν υποβάλλεται ποτέ τίποτα. Οι υπηρεσίες ανάγνωσης που χρησιμοποιεί ο «Έλεγχος ΕΡΓΑΝΗ» (εργοδότης, παραρτήματα, προσωπικό) χρησιμοποιούν ωστόσο το πραγματικό ΕΡΓΑΝΗ, μόνο για ανάγνωση. Άρα χρειάζεστε τον πραγματικό χρήστη για να φέρετε το προσωπικό, ακόμα και στις δοκιμές.
| Μεταβλητή | Υποχρεωτική | Τι σημαίνει |
|---|---|---|
CF_ACCESS_TEAM_DOMAIN |
ναι | Το team domain σας στο Cloudflare Zero Trust, χωρίς https://, π.χ. yourteam.cloudflareaccess.com. |
CF_ACCESS_AUD |
ναι | Το Audience (AUD) tag της εφαρμογής Access που προστατεύει το /admin. |
ADMIN_EMAILS |
ναι | Τα email που επιτρέπεται να μπουν στη σελίδα διαχείρισης, χωρισμένα με κόμμα. Πρέπει να ταιριάζουν με την πολιτική του Access. |
| Μεταβλητή | Προεπιλογή | Τι σημαίνει |
|---|---|---|
PUBLIC_ORIGIN |
http://localhost:8000 |
Η δημόσια διεύθυνση της Karta σας, π.χ. https://karta.tokatastimamou.gr. Χρησιμοποιείται για να ελέγχεται από πού έρχονται τα αιτήματα και για τους συνδέσμους κάρτας στο κινητό. Ορίστε την στην κανονική λειτουργία.
|
DB_PATH |
/data/workcard.db |
Η θέση της βάσης SQLite. |
LATE_THRESHOLD_SECONDS |
120 |
Αν ένα χτύπημα φτάσει στο ΕΡΓΑΝΗ αργότερα από τόσα δευτερόλεπτα μετά τη στιγμή που έγινε (π.χ. μετά από διακοπή του internet), στέλνεται ως εκπρόθεσμη δήλωση με αιτιολογία. Δείτε Πώς φτάνουν τα χτυπήματα στο ΕΡΓΑΝΗ. |
DEBOUNCE_SECONDS |
60 |
Ελάχιστος χρόνος ανάμεσα σε δύο χτυπήματα του ίδιου ατόμου, ώστε να μη γίνονται κατά λάθος διπλά. |
Ώρα: η Karta δουλεύει πάντα σε ώρα Ελλάδας (Europe/Athens), μαζί με τις αλλαγές
θερινής και χειμερινής ώρας, ό,τι ζώνη ώρας κι αν έχει ο server σας. Δεν χρειάζεται να
αλλάξετε τίποτα· το TZ στο docker-compose.yml επηρεάζει μόνο την ώρα στα logs.
Η Karta στέλνει ειδοποιήσεις στο κινητό σας μέσω του ntfy: εγκαταστήστε την εφαρμογή ntfy και εγγραφείτε στο θέμα (topic) σας. Αν τα αφήσετε κενά, οι ειδοποιήσεις στο κινητό απενεργοποιούνται και εμφανίζονται μόνο στη σελίδα διαχείρισης.
| Μεταβλητή | Τι σημαίνει |
|---|---|
NTFY_URL |
Ο server του ntfy, π.χ. https://ntfy.sh ή δικός σας. |
NTFY_TOPIC |
Το όνομα του θέματος. Αν χρησιμοποιείτε τον δημόσιο server, διαλέξτε κάτι μακρύ και τυχαίο. |
NTFY_TOKEN |
Κλειδί πρόσβασης, αν το ζητά ο server σας. |
| Μεταβλητή | Τι σημαίνει |
|---|---|
PIN_KEY |
Κλειδί 32 bytes. Το γράφει ο οδηγός ρύθμισης. Αν στήνετε χειροκίνητα, δημιουργήστε το μία φορά με python3 -c "import os,base64;print(base64.urlsafe_b64encode(os.urandom(32)).decode())". |
Το PIN_KEY χρειάζεται, δεν είναι προαιρετικό. Με αυτό:
- η σελίδα διαχείρισης φυλάει κρυπτογραφημένα τον κωδικό του ΕΡΓΑΝΗ και το κλειδί του ntfy·
χωρίς αυτό, αυτοί οι κωδικοί μπαίνουν μόνο στο
.env· - η σελίδα διαχείρισης δείχνει τα τρέχοντα PIN και τις κάρτες QR των εργαζομένων·
- φτιάχνεται ο σύνδεσμος για την κάρτα QR στο κινητό.
Χωρίς PIN_KEY, τα PIN αποθηκεύονται μόνο ως μη αναστρέψιμη σύνοψη (hash) και δεν
μπορούν να εμφανιστούν ξανά· μπορείτε μόνο να ορίσετε νέο. Αν χάσετε το κλειδί:
- τα PIN και οι κάρτες QR συνεχίζουν να λειτουργούν, αλλά δεν εμφανίζονται μέχρι να δώσετε σε κάθε εργαζόμενο νέο PIN («Νέο PIN») ή νέα κάρτα·
- ο κωδικός του ΕΡΓΑΝΗ και το κλειδί του ntfy που είχαν αποθηκευτεί στη σελίδα διαχείρισης δεν διαβάζονται πια· πρέπει να τα ξαναγράψετε στις «Ρυθμίσεις».
Το PIN_KEY ταξιδεύει κρυπτογραφημένο μέσα σε κάθε αντίγραφο στο cloud, και μια επαναφορά
από το cloud σε νέο μηχάνημα το χρησιμοποιεί αυτόματα (το κρατά στο pin-key, δίπλα στη
βάση). Αν δεν έχετε αντίγραφα στο cloud, κρατήστε ένα αντίγραφο του .env (ή τουλάχιστον
του PIN_KEY) σε ασφαλές μέρος. Δείτε Αντίγραφα ασφαλείας.
| Μεταβλητή | Τι σημαίνει |
|---|---|
KARTA_VERSION |
Η έκδοση της Karta που ξεκινά το docker-compose.yml, π.χ. 1.5.0. Τη γράφει ο οδηγός ρύθμισης και την αλλάζει το «Ενημέρωση τώρα» (ή το ./setup.sh update). Αν η νέα έκδοση δεν ξεκινήσει σωστά μέσα σε δύο λεπτά, γράφεται ξανά η προηγούμενη και η Karta επιστρέφει σε αυτήν. Χωρίς τιμή: η τελευταία έκδοση (latest). |
| Μεταβλητή | Τι σημαίνει |
|---|---|
COMPOSE_PROFILES |
tunnel: το docker compose ξεκινά και το tunnel μαζί με την Karta (το γράφει ο οδηγός ρύθμισης). Χωρίς αυτό ξεκινά μόνο η Karta, για δικό σας reverse proxy. |
TUNNEL_TOKEN |
Το token του tunnel (το γράφει ο οδηγός ρύθμισης). |
TUNNEL_PROTOCOL |
Πώς συνδέεται το tunnel: http2 για μηχάνημα στο κατάστημα ή στο σπίτι (σταθερό πίσω από router σπιτιού), auto σε VPS (QUIC/HTTP/3 με HTTP/2 αν χρειαστεί). Προεπιλογή http2. Μόνο με το docker-compose.yml. |
Εγκατάσταση
- Εύκολη εγκατάσταση
- Εγκατάσταση
- Ρυθμίσεις 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