Χτίζουμε και συντηρούμε το δίκτυο που βλέπετε παρακάτω.
Το τεχνικό σκέλος της Web Host Pro: σημειώσεις από τον σέρβερ, τεκμηρίωση των εργαλείων μας και ο κατάλογος των έργων. Το εμπορικό μέρος ζει στο webhostpro.gr.
Πηγή: stats.json — αν λείπει, μένει παύλα. Ποτέ εκτιμήσεις.
Τι τρέχει αυτή τη στιγμή
placeholderΠρόσφατα άρθρα
Τεκμηρίωση
Αλλαγές
Ψάχνεις πακέτα, τιμές ή προσφορά; Αυτά ζουν στο εμπορικό μας site.
webhostpro.grΣημειώσεις από τον σέρβερ
Ό,τι έσπασε, γιατί έσπασε και τι κάναμε. Γράφονται σε Markdown, χωρίς ωραιοποίηση.
Το site που επέστρεφε 200 σε κάθε path
Ο nginx σέρβιρε την αρχική, byte για byte, σε οποιοδήποτε URL. Καμία 404 πουθενά — και κάθε νέα σελίδα θα δούλευε ψεύτικα.
Ψεύτικος καιρός από getMinutes()%3
Η μπάρα καιρού δεν καλούσε ποτέ meteo API· διάλεγε εικονίδιο με βάση το λεπτό της ώρας.
Όταν ένας AI agent μεταγραμματίζει αντί να μεταφράζει
Ανέφερε 100% κάλυψη αγγλικών σε 160 κόμβους. Είχε γράψει τα ελληνικά με λατινικούς χαρακτήρες.
Partial indexes που το Prisma δεν βλέπει
Δύο unique indexes με WHERE clause δεν υπάρχουν στο schema. Κάθε migrate προσπαθεί να τα ρίξει σιωπηλά.
Ένα Worker, οκτώ sites, ένα D1
Πού καταλήγουν οι ερωτήσεις των χρηστών και γιατί το privacy policy γράφεται πριν το logging.
Το site που επέστρεφε 200 σε κάθε path
Ξεκίνησε ως απλός έλεγχος πριν από ένα redesign. Ζητήσαμε ένα URL που δεν υπάρχει, περιμένοντας 404. Πήραμε 200 και ολόκληρη την αρχική σελίδα.
curl -o /dev/null -s -w "%{http_code}" https://example.gr/den-yparxei
200
Δοκιμάσαμε δέκα ακόμα διαδρομές. Ίδιο αποτέλεσμα, με πανομοιότυπο checksum. Το vhost είχε ένα try_files που κατέληγε πάντα στο index.html.
Κάθε νέα σελίδα που θα προσθέταμε θα φαινόταν να δουλεύει, ακόμα κι αν το αρχείο δεν είχε ανέβει ποτέ.
Τι αλλάξαμε
Ρητό try_files $uri $uri/ =404 και ξεχωριστό error page. Ο έλεγχος μπήκε στο checklist κάθε παράδοσης.
Τι κάνει το concierge
Ένα widget chat που απαντά για ένα συγκεκριμένο site — κατάλυμα, δήμο, e-shop — με βάση ένα δικό του αρχείο αλήθειας. Δεν αυτοσχεδιάζει και δεν δίνει νούμερα που δεν του έχουν δοθεί.
Το όνομα ShopOS είναι προσωρινό και χρησιμοποιείται μόνο εσωτερικά.
Ένα request
POST /api/chat
{ "bot": "venthus", "message": "...", "history": [] }
| πεδίο | τύπος | περιγραφή |
|---|---|---|
bot | string | ποιο site ρωτάει |
message | string | η ερώτηση του επισκέπτη |
history | array | προηγούμενα μηνύματα |
Το prompt του κάθε bot διαβάζεται από τη βάση, με cache και ορατό fallback στον κώδικα.
Τι έχουμε φτιάξει
Μία σελίδα ανά έργο: τι είναι, τι τρέχει από κάτω, τι κάναμε εμείς.
Ask Network
Τοπικοί AI οδηγοί πόλεων, κοινός Worker και ξεχωριστό αρχείο αλήθειας ανά προορισμό.
WHP Dashboard
Διαχείριση sites, bots και πελατών με ρόλους και ξεχωριστό portal ανά πελάτη.
Digital Achaia
Δίκτυο σελίδων προορισμού για την Αχαΐα, υπό τη θυγατρική ΜΚΟ.
ShopOS (wip)
E-commerce πλατφόρμα με συνδρομή. Το όνομα δεν έχει κλειδώσει.
Πώς δουλεύουμε
Κανόνες που δεν βγήκαν από βιβλίο. Ο καθένας τους κόστισε μια νύχτα.
Κανένα νούμερο που δεν μπορούμε να αποδείξουμε
Αν το API δεν απαντά, το site δείχνει παύλα. Όχι εκτίμηση, όχι τιμή βγαλμένη από την ώρα του συστήματος.
Τίποτα στην παραγωγή χωρίς έγκριση
Κάθε αλλαγή προτείνεται γραπτά, εγκρίνεται, μετά εφαρμόζεται. Κανένα auto-deploy από agent.
Ένα πράγμα τη φορά, μέχρι το τέλος
Δεν ανοίγει δεύτερο μέτωπο πριν κλείσει και επαληθευτεί το πρώτο.
Ο AI βοηθός δεν αυτοσχεδιάζει
Κάθε bot έχει αρχείο αλήθειας. Ό,τι δεν είναι μέσα, το λέει ότι δεν το ξέρει.
Backup πριν, όχι μετά
Αντίγραφο πριν από κάθε build, εκτός docroot, με ημερομηνία στο όνομα.
.dev