Quickstartהתחלה מהירה
Five commands, about five minutes, and a live HTTPS URL on hardware in Tel Aviv or Amsterdam. No Dockerfile required, no cloud account, no credit card meter running in the background.
חמש פקודות, בערך חמש דקות, וכתובת HTTPS חיה על חומרה בתל אביב או באמסטרדם. בלי Dockerfile, בלי חשבון ענן, ובלי מונה כרטיס אשראי שרץ ברקע.
Before you startלפני שמתחילים
- Node.js 20 or newer on your machine (the CLI is a single npm package).Node.js 20 ומעלה על המחשב שלכם (ה-CLI הוא חבילת npm יחידה).
- A Shipyard account. Sign up at the panel, or ask whoever owns your organisation to invite you.חשבון Shipyard. נרשמים בפאנל, או מבקשים ממי שמנהל את הארגון שלכם להזמין אתכם.
- An application that starts with a single command and listens on a port.אפליקציה שעולה בפקודה אחת ומאזינה על פורט.
1. Install the CLI1. התקנת ה-CLI
npm i -g @shipyard/cli shipyard --version
The CLI is the primary interface. Everything the web panel does, it does by calling the same API the CLI calls, so nothing is panel-only.
ה-CLI הוא הממשק הראשי. כל מה שהפאנל עושה, הוא עושה דרך אותו API שה-CLI קורא לו, ולכן אין שום דבר שזמין רק בפאנל.
2. Log in2. התחברות
shipyard login
This opens a browser, you approve the session, and the CLI writes a token to ~/.shipyard/credentials with mode 0600. If you are on a headless box, pass --token and paste an API key from the panel instead.
נפתח דפדפן, מאשרים את הסשן, וה-CLI כותב טוקן ל-~/.shipyard/credentials עם הרשאות 0600. במכונה ללא ממשק גרפי, משתמשים ב---token ומדביקים מפתח API מהפאנל.
3. Initialise the project3. אתחול הפרויקט
cd ./my-app shipyard init
init looks at what is actually in the directory. It reads package.json, notices a next.config.js or a vite.config.ts or a Dockerfile, and writes a shipyard.yaml that matches. Read it before you commit it. It is short on purpose.
init בוחן מה באמת נמצא בתיקייה. הוא קורא package.json, מזהה next.config.js או vite.config.ts או Dockerfile, וכותב shipyard.yaml שמתאים. קראו אותו לפני שאתם מבצעים commit. הוא קצר בכוונה.
contract: 1 name: my-app builder: nextjs-standalone port: 3000 healthcheck: path: /api/health timeout: 10s env: - DATABASE_URL - SESSION_SECRET
That line pins your application to version 1 of the Shipyard application contract. We can change how the platform works underneath you; we cannot change what contract: 1 means. See Frames & upgrades.
השורה הזו מקבעת את האפליקציה לגרסה 1 של חוזה האפליקציות של Shipyard. אנחנו יכולים לשנות איך הפלטפורמה עובדת מתחתיכם, אבל אנחנו לא יכולים לשנות מה contract: 1 אומר. ראו מסגרות ושדרוגים.
4. Set your secrets4. הגדרת סודות
shipyard env set DATABASE_URL --from-stdin shipyard env set SESSION_SECRET --generate shipyard env list
Values are encrypted at rest and are never returned by any read path, including env list, the panel, the API and the agent tools. env list shows you names, who set them, and when. If you lose a value, you rotate it; you do not recover it.
הערכים מוצפנים במנוחה ולעולם לא מוחזרים בשום מסלול קריאה, כולל env list, הפאנל, ה-API וכלי הסוכנים. env list מציג שמות, מי הגדיר, ומתי. אם איבדתם ערך, מסובבים אותו; לא משחזרים אותו.
5. Deploy5. פריסה
shipyard deploy
What happens, in order:
מה קורה, לפי הסדר:
- 1Your working tree is packed and uploaded.
.gitignoreand.shipyardignoreare both respected.עץ העבודה נארז ומועלה. גם.gitignoreוגם.shipyardignoreנלקחים בחשבון. - 2The builder runs in an isolated container with no network egress by default.הבנאי רץ בקונטיינר מבודד ללא יציאה לרשת כברירת מחדל.
- 3The resulting image is scanned: dependency CVEs, leaked credentials, obviously dangerous defaults. Critical findings stop the deploy.התמונה שנוצרה נסרקת: CVE בתלויות, סודות שדלפו, ברירות מחדל מסוכנות. ממצאים קריטיים עוצרים את הפריסה.
- 4It starts, the healthcheck has to pass, and only then does traffic move. A failed healthcheck leaves the previous release serving.האפליקציה עולה, בדיקת הבריאות חייבת לעבור, ורק אז התעבורה עוברת. כישלון בבדיקה משאיר את הגרסה הקודמת באוויר.
- 5You get a URL. TLS is issued automatically and renewed without you thinking about it.מקבלים כתובת. תעודת TLS מונפקת אוטומטית ומתחדשת בלי שתחשבו על זה.
✓ packed 1.8 MB (412 files) ✓ built nextjs-standalone 38s ✓ scanned 0 critical, 2 low 4s ✓ health GET /api/health → 200 2s ✓ live https://my-app.shipyard1.app deployment dep_01J8ZQ4K7M region il-tlv frame 1
Then whatומה אחר כך
shipyard logs -fStream logs from the running release.זרימת לוגים מהגרסה הרצה.shipyard psWhat is running, where, and since when.מה רץ, איפה, ומאיזה רגע.shipyard rollbackBack to the previous release. Takes seconds, not a rebuild.חזרה לגרסה הקודמת. שניות, לא בנייה מחדש.shipyard openOpen the deployment in your browser.פתיחת הפריסה בדפדפן.shipyard domains addAttach your own hostname; TLS follows automatically.חיבור שם מארח משלכם; תעודת TLS מגיעה אוטומטית.Adding a databaseהוספת מסד נתונים
Declare it in shipyard.yaml and the connection string is injected as an environment variable on the next deploy. Backups start immediately; you do not opt in.
מצהירים עליו ב-shipyard.yaml ומחרוזת החיבור מוזרקת כמשתנה סביבה בפריסה הבאה. הגיבויים מתחילים מיד; לא צריך להצטרף.
services: - postgres17 - redis