להלשכה הדיגיטליתDIGITAL OFFICE · קוד גלוי GitHub
תיעוד

התקנה עצמית

המדריך הקצר. התיעוד המלא, כולל ארכיטקטורה, מדריך לכתיבת אפליקציה ותקלות ידועות, נמצא ברפוזיטורי.

התחלה מהירה

מחשב לינוקס מקומי או שרת דביאן/אובונטו נקי, ושלוש פקודות. דומיין נדרש רק להרצה על שרת ציבורי; מקומית הכל עובד על *.localhost.

git clone https://github.com/solomonBoltin/deployment-hacohen
cd deployment-hacohen
./debian-install.sh          # Docker, Compose, dependencies
cp .env.ex .env              # then edit: business name, domain, secrets
./bbox run                   # compile manifests, converge Docker, verify

אחרי העלייה, אשף ההגדרות בקונסולה משלים את מה שחסר: חיבורי OAuth, סריקת QR לוואטסאפ, ומפתחות של שירותים חיצוניים.

אל תריצו docker compose up ישירות. קובץ ה-compose בשורש מגדיר רק את הרשת המשותפת. כל השירותים מקומפלים לתיקיית .generated/. הרצה ישירה תסתיים "בהצלחה" בלי להרים כלום. השתמשו ב-./bbox run.

שלושה מצבי הרצה, אותה תוכנה

הפלטפורמה זהה בכל מצב. מה שמשתנה הוא הדומיין שממנו נגזרות כל כתובות האפליקציות, וזה נקבע בשורה אחת בקובץ ההגדרות.

מצבאיפה זה רץכתובת הקונסולהמה צריך
מחשב מקומיהלפטופ או מחשב במשרד, עם Dockerhttp://console.localhostכלום. כתובות *.localhost עובדות תמיד, בלי דומיין ובלי HTTPS.
שרת שלכםVPS או שרת בארגון, עם IP ציבוריhttps://console.your-domain.comדומיין משלכם עם רשומת wildcard לשרת. תעודות SSL מונפקות לבד (Let's Encrypt).
ענן מנוהל בקרובהשרתים שלנוhttps://console.israeli-company.digital-office.co.ilרק שם העסק. אנחנו מקצים תת-דומיין, שרת, גיבויים ועדכונים. אפשר לחבר דומיין משלכם אחר כך.

אותו כלל חל על כל אפליקציה: chat.localhost, chat.your-domain.com, chat.israeli-company.digital-office.co.il. וכך גם drive., mail., auth., n8n. ושאר האפליקציות.

איך זה מוגדר: BUSINESS_NAME בקובץ ההגדרות נותן את הסלאג של העסק (למשל "Israeli Company" → israeli-company), ו-COMPANY_BASE_DOMAIN הוא הדומיין שמתחתיו העסק יושב. הכתובת המלאה היא <slug>.<base-domain>, וכל *_BASE_URL נגזר ממנה. בענן המנוהל הדומיין הבסיסי הוא digital-office.co.il; בשרת שלכם הוא הדומיין שלכם. רוצים שהקונסולה תשב ישירות על console.your-domain.com בלי סלאג? קבעו DEPLOYMENT_DOMAIN=your-domain.com במפורש.

# local machine — nothing to set, *.localhost just works
open http://console.localhost

# your own server
BUSINESS_NAME="Israeli Company"          # -> slug: israeli-company
COMPANY_BASE_DOMAIN=your-domain.com      # -> console.israeli-company.your-domain.com
# or, flat on the domain:
DEPLOYMENT_DOMAIN=your-domain.com        # -> console.your-domain.com

# managed cloud (we set this for you)
COMPANY_BASE_DOMAIN=digital-office.co.il # -> console.israeli-company.digital-office.co.il
מעבר בין המצבים הוא שינוי של שורת הדומיין וייצוא-ייבוא של הנתונים. פיתחתם על הלפטופ? אותו קובץ הגדרות עולה על השרת. התחלתם בענן שלנו? לוקחים את הנתונים לשרת שלכם, בלי קנסות.

דרישות

רכיבמינימוםמומלץ
מערכת הפעלהDebian 12 / Ubuntu 22.04Debian 12
זיכרון4 GB (ליבה בלבד)8 GB ומעלה עם כל האפליקציות
דיסק40 GB100 GB SSD
רשתמקומית: כלום. שרת: IP ציבורי ופורטים 80/443 פתוחיםגם פורט 25 אם רוצים מייל נכנס
דומייןמקומית: לא נדרש. שרת: רשומת A לדומיין ולתת-דומיינים (wildcard)SSL אוטומטי דרך Let's Encrypt

קובץ ההגדרות

כל התצורה בקובץ .env אחד, שנוצר מ-.env.ex ולא נכנס ל-git. המשתנים החשובים:

משתנהתפקיד
COMPANY_SLUG, COMPANY_BASE_DOMAINשם העסק והדומיין. מהם נגזר DEPLOYMENT_DOMAIN וכל כתובות האפליקציות (chat., drive., mail. ...).
DEPLOYMENT_NAMEסיומת לשמות הקונטיינרים. מאפשר כמה התקנות על מכונה אחת.
TRAEFIK_ACME_EMAILכתובת לתעודות SSL.
POSTGRES_*, REDIS_PASSWORDסיסמאות מסדי הנתונים. אשף ההתקנה מייצר סודות מכונה לבד; אתם ממלאים רק מה שאנושי.
TZאזור זמן. Asia/Jerusalem.

מבנה הפלטפורמה

הפלטפורמה מקומפלת, לא מורכבת. הקומפיילר קורא כל apps/*/app.json ואת platform.state.yaml, פותר לכל יכולת ספק אחד, ומייצר את שרשרת ה-compose, שכבות העל, הרישומים ותבנית ה-SSO. שלוש שכבות, והתיקייה היא השכבה:

platform/        LAYER 0  the compiler + manager CLI
platform-base/   LAYER 1-2  traefik, authentik, postgres, redis, n8n,
                            connections, console, glitchtip, machine, ...
apps/            LAYER 3  the products: chat, indox, apitools, drive,
                            mail, my-docs, supabase, ollama, ...
.generated/      rendered output, never edited by hand
platform.state.yaml   which apps are enabled, provider bindings

שער G9 ב-CI אוכף שקובץ בשכבה נמוכה לא תלוי בשכבה גבוהה ממנו.

ניהול אפליקציות

./bbox apps list                 # the resolved plan
./bbox apps enable <app>         # data is always kept
./bbox apps disable <app>
./bbox app install <id|url|file> # from the signed catalog, with disclosure
./bbox catalog verify            # check the catalog signature chain

אפליקציה חדשה היא תיקייה עם מניפסט. המדריך המלא: ai/context/build-your-first-app.md ברפוזיטורי.

אוטומציות

תהליכי n8n נשמרים כתבנית מנוהלת ב-git ומועברים עם bbox, לא עם סקריפטים:

./bbox n8n status     # git vs live drift, credential health
./bbox n8n pull       # capture the running host into blueprint files
./bbox n8n push       # blueprint to host, non-destructive, publish
./bbox n8n verify     # credential connect-tests, re-auth links

תפעול

פקודהמטרה
./bbox helpעץ הפקודות המלא
./bbox baselineהוכחת בריאות: כל שירות עלה כפי שהוגדר
./scripts/dc ...docker compose מול רשימת הקבצים המקומפלת
./scripts/collect-logs.shאיסוף לוגים מכל השירותים
./scripts/storage-reportדוח שימוש בדיסק ובנפחים
./scripts/safe-clean.shניקוי בטוח של משאבי Docker לא בשימוש
גיבוי. אין עדיין bbox backup. עד שיהיה, גבו את נפחי Docker ומסדי הנתונים בעצמכם לפני כל פעולה הרסנית. בענן המנוהל זה כלול.

תרומה לפרויקט

  1. קראו את AGENTS.md ברפוזיטורי. אלה כללי העבודה, לבני אדם ולסוכני AI כאחד.
  2. פתחו issue לפני עבודה גדולה. תקלות מנוהלות בתיקיית issues/ עם חומרה וסטטוס.
  3. כל דחיפה מריצה את שערי ה-CI ואת הוכחת ההתקנה ממכונה נקייה. ירוק, או לא נכנס.
  4. תרומה משוחררת תחת רישיון השימוש בר-הקיימא של הפרויקט. ראו רישיון.

תיעוד מלא

צריךאיפה
הפעלה מלאה ו-onboardingGO-LIVE.md
איך הפלטפורמה בנויה, ומה לא בסדר בהai/context/platform-architecture-review.md
כתיבת אפליקציהai/context/build-your-first-app.md
מפת דרכים של מנוע הפלטפורמהai/context/platform-os-roadmap.md
מחקר אריזה למוצר מותקן (Windows/macOS)packaging/README.md