מעבר אלינוRailway
מעבר מ-Railway אל Emilion Cloud
מעבירים את האפליקציות והמסדים מ-Railway אלינו. אותו ריפו, משתני סביבה, ואז חיתוך DNS. בלי הבטחה לייצוא אוטומטי מ-API.
מה תלמדו
- איך מושגי Railway ממופים ל-Emilion Cloud
- איך יוצרים מחדש שירותים ומסדים אצלנו
- איך מעבירים Postgres או Redis וחותכים DNS
למה לעבור
חשבון וחשבונית בישראל
חיוב בשקלים, חשבונית מס, ותמיכה בעברית. האזור הראשי הוא ישראל, לא רק Frankfurt או US-West.
מסלול קבוע במקום חיוב לפי שימוש
Hobby חינם, Shared ב-59 שקלים, או VPS ייעודי. אתם בוחרים מסלול, לא מנחשים חשבון בסוף החודש.
WordPress ו-Git באותו לוח
אתר וורדפרס ואפליקציית Node יכולים לחיות באותו חשבון. מיגרציית cPanel אוטומטית זמינה אם יש לכם גם אתרי שיתוף.
Shared תמיד ער
מסלול Shared לא נרדם. Hobby החינמי נרדם אחרי רבע שעת חוסר פעילות. זה מפורש, לא הפתעה.
מיפוי מושגים
חישוב
| Railway | Emilion Cloud |
|---|---|
| Service | אפליקציה |
| Usage-based vCPU / RAM | מסלול Hobby, Shared או VPS |
| Service with public domain | אפליקציית Git או תבנית עם דומיין |
| Service without public domain | אפליקציה שנייה או שירות ב-Compose |
| Cron job | משימת cron באפליקציה |
| Service / shared variables | משתני סביבה בלוח |
פריסה
| Railway | Emilion Cloud |
|---|---|
| Railpack / custom build command | פקודת build, Dockerfile או nixpacks |
| Start command / Procfile web | פקודת start באפליקציה |
| Pre-deploy command | חלק מפקודת ה-build או סקריפט בריפו |
| Healthcheck endpoint | האפליקציה חייבת לענות על PORT |
| GitHub auto-deploy | פריסה אוטומטית מ-Git |
| PR / staging environments | כתובת תצוגה לכל אפליקציה, בלי תצוגות PR |
אחסון
| Railway | Emilion Cloud |
|---|---|
| Volumes | דיסק של המסלול, לא Volume נפרד לכל שירות |
רשת
| Railway | Emilion Cloud |
|---|---|
| *.railway.internal | שירותים באותו שרת דרך שם ופורט פנימיים |
| *.railway.app | כתובת תצוגה של האפליקציה |
| Custom domains | דומיין במסלול Shared או VPS, DNS ידני |
מסדים
| Railway | Emilion Cloud |
|---|---|
| PostgreSQL template | משאב PostgreSQL |
| Redis template | משאב Redis |
| MySQL / MariaDB template | משאב MySQL או MariaDB |
הגדרה
| Railway | Emilion Cloud |
|---|---|
| railway.toml / railway.json | הגדרות בלוח הבקרה. אין קובץ IaC עדיין |
הכנה
יוצרים חשבון Emilion Cloud
ההרשמה חינם. Hobby מספיק לבדיקה. לאתר עם דומיין משלכם צריך Shared או VPS.
רושמים מה יש ב-Railway
לכל שירות: סוג (web / worker / cron), פקודות build ו-start, משתני סביבה כולל ${{ }} reference, ומסדים מחוברים. כל process ב-Procfile הופך אצלנו לאפליקציה נפרדת או לשירות ב-Compose.
שחזור אצלנו
יוצרים מסדים קודם
בלוח: מסדים, ואז PostgreSQL או Redis. מעתיקים את כתובת החיבור הפנימית. עדיין לא מעבירים נתונים, רק מכינים יעד.
מחברים את אותו ריפו
במסך Git בוחרים את הריפו והענף. מזינים את אותן פקודות build ו-start שהיו ב-Railway. אם Railpack זיהה אותן לבד, כאן כותבים אותן במפורש.
מעתיקים משתני סביבה
מחליפים reference כמו ${{ Postgres.DATABASE_URL }} בכתובת האמיתית של המסד אצלנו. DATABASE_URL ו-REDIS_URL נקבעים ידנית. המסך Env דורש אפליקציית Git.
חיתוך
החיתוך דורש השבתה קצרה
קבעו חלון שקט. עצרו את שירותי Railway אחרי שהאפליקציה אצלנו עולה ובודקים שהיא עונה.
מייצאים Postgres מ-Railway
הפעילו TCP Proxy ב-Postgres, העתיקו את DATABASE_PUBLIC_URL, וצרו dump.
pg_dump "<RAILWAY_DATABASE_PUBLIC_URL>" -F c -f railway_backup.dumpמייבאים ל-Postgres אצלנו
השתמשו בכתובת החיצונית של המסד ממסך המסדים. למסד גדול אפשר להוסיף --jobs 4.
pg_restore --verbose --no-acl --no-owner -d <EMILION_POSTGRES_URL> railway_backup.dumpRedis
אם יש Redis ב-Railway, ייצאו והעלו ליעד Redis אצלנו.
redis-cli -u <RAILWAY_REDIS_PUBLIC_URL> --rdb railway_redis.rdb redis-cli -u <EMILION_REDIS_URL> --pipe < railway_redis.rdbמעדכנים DNS
במסך דומיינים מחברים את השם הקיים. DNS נשאר אצלכם. אחרי ההפצה תונפק תעודת SSL. זה לוקח זמן קצר, לא מיידי.
תקלות נפוצות
החיבור למסד נכשל
בדקו שלא נשאר ${{ Postgres.DATABASE_URL }}. צריך כתובת מלאה ממשאב המסד אצלנו.
ה-build נכשל
Railway לעיתים מזהה פקודה לבד. כאן כותבים npm ci או pip install במפורש.
האפליקציה לא מקבלת תעבורה
האפליקציה חייבת להאזין למשתנה PORT שאנחנו מספקים.
הצעד הבא
אחרי שהאתר חי: בדקו cron, שיתוף צוות, וגיבויים במסלול Shared או VPS. אם נשאר אתר וורדפרס ב-cPanel, האשף במסך מיגרציות מעביר אותו אוטומטית.
נתקעתם? כתבו אלינו: support@emilion.co.il