לקראת פרויקט חדש שדורש קליטה ועיבוד נתונים 24/7, הפעלתי את קלוד קוד על שרת לינוקס מרוחק (VPS) וגיליתי עולם חדש ומרתק.
הבנתי את הקונספט Sandbox: סביבה מבודדת שבה אפשר “לשחק” בלי להשפיע על העולם האמיתי. כמו ארגז חול - מה שקורה בפנים נשאר שם. הדרכים העיקריות ליישם הן דרך שרת או קונטיינר. ברמת התהליך קלוד קוד רץ בסביבה מבודדת. אם הקוד יעשה נזק זה לא ישפיע על מערכות אחרות, אפשר להתאים את הסביבה לפרויקט ולתת לו לעבוד בלי השגחה.
הכרתי מושגים כמו קונטיינר מהעבודה עם דוקר, ריצה בענן, שרת MCP מרוחק, אבל אף פעם לא התעמקתי במשמעות.
הפעם רציתי להבין את כל המונחים האלה לפני שהקמתי את השרת.
למדתי
שרת פרטי וירטואלי - VPS - Virtual Private Server
מחשב לינוקס בענן שרץ 24/7. את שוכרת אותו ומתחברת מרחוק (SSH).
למה: משימות ארוכות רצות בלי שהמחשב שלך דלוק, סביבה נקייה ומבודדת, agents שעובדים מתי שרוצים.
ניהול session - tmux
כלי שמאפשר sessions שממשיכים לרוץ גם אחרי שמתנתקים מהשרת. אם אני רוצה שקלוד קוד יעבוד כשאני מנותקת או שיש לי משימה ארוכה.
Docker
תוכנה לבנייה והרצה של קונטיינרים (בין היתר).
תמונה/Image
קובץ סטטי, “תבנית” של אפליקציה. כולל קוד + תלויות + הגדרות. לא רץ, רק יושב.
קונטיינר
אריזה של אפליקציה עם כל מה שהיא צריכה להריץ. כשמריצים image נוצר קונטיינר שפועל.
למה: לוודא שמה שרץ מקומית ירוץ במקום אחר בדיוק אותו דבר. אם במחשב שלי משהו עובד ואז בפרודקשן לא - זה מבאס, אז קונטיינר מוודא שיש סטנדרט אחיד.
Docker Hub
מאגר מרכזי של images מוכנים (כמו GitHub לדוקר). רוצה PostgreSQL - יש תמונה מוכנה להריץ. כשרוצים לעשות deploy מהדוקר לענן אפשר לדחוף אותו לדוקר האב.
הקמת השרת
התייעצתי עם קלוד איפה להקים את השרת, היו כמה אפשרויות ובסוף הלכתי על Hetzner - מספיק ללמידה ולצרכים אישיים, את גרסת הפרודקשן נעביר לענן של גוגל או AWS.
פתחתי חשבון ויצרתי שרת חדש, יש כמה אפשרויות וקלוד המליץ על מה שמתאים לצרכים שלי.
מפתח SSH
יצרתי מפתח SSH - דרך מאובטחת להתחבר לשרת מרחוק.
פותחים טרמינל ומתחברים לשרת דרך האינטרנט, כל התקשורת מוצפנת.
יש לו שני חלקים: פרטי שנשאר אצלי וציבורי שנותנים לשרת.
כשמתחברים, השרת בודק שהמפתח הפרטי והציבורי תואמים.
מריצים פקודה בטרמינל ssh root@IP ומקבלים טרמינל שרץ על שרת הלינוקס המרוחק.
התקנתי תוסף של VS Code שמאפשר לעבוד על שרתים ב-remote - יותר נוח.
כשהשרת היה מוכן נתתי לקלוד קוד את ה-IP והוא הסביר לי איך מתחברים לשרת ומתחברים שם לקלוד קוד.
הכנת הסביבה
התחברתי לקלוד קוד בשרת ודיברתי עם קלוד קוד המקומי במקביל שיעזור לי להכין את הסביבה: להתקין GitHub CLI, דוקר, Vercel ועוד כמה הגדרות.
איך התחברתי ל-GitHub: מתחברים דרך מפתח SSH, כבר היה לי מההתחברות במחשב שלי, אז העתקתי אותו לשרת והתחברתי דרכו.
איך משלבים בין הדוקר המקומי למרוחק: דרך Docker Hub - זה בעצם GitHub של תמונות דוקר, דוחפים ומושכים מאיפה שרוצים.
סיכום התשתית
- Claude Code מחובר ל-subscription
- Node.js + Bun
- Docker
- GitHub
- VS Code Remote
- Skills
- Vercel
מה אפשר לעשות עם זה?
אפשר לארח על השרת מה שרוצים - יש לו IP ציבורי: סוכנים, API, אתרים, דאטה-בייס - דברים ש-Vercel לא תומך. למשל backend של אפליקציה - יתרון משמעותי.
עוד שימושים מעניינים: אייג’נט שמחובר לווטסאפ שלי ורץ 24/7, אוטומציות, קריאות API.
קלוד קוד בשרת יכול להריץ scripts, לגלוש עם Puppeteer, לשלוח הודעות WhatsApp, לעשות API calls, לתזמן tasks עם cron, לגלוש ב-headless browser - דפדפן בלי חלון גרפי שרץ ברקע.
זה כמו מחשב שרץ 24/7 שקלוד שולט בו, אייג’נטים מבצעים משימות, נתונים נכנסים ומעובדים והכול מרחוק.
הדמו: מודל חיזוי עם InfluxDB
כדי להתנסות בניתי עם קלוד קוד מהשרת דמו של מודל חיזוי עם InfluxDB: דאטהבייס שנבנה במיוחד ל-time series data - נתונים שמשתנים לאורך זמן.
למה זה עדיף על PostgreSQL או SQL רגיל?
שומר נתונים טוב יותר: כל נקודת מידע נשמרת עם חותמת זמן במקום ID כמזהה ראשי.
זה מאפשר כתיבה מהירה של מיליוני נקודות בשנייה, דחיסה אגרסיבית (x10-x100 יותר יעיל), שאילתות מותאמות לזמן כמו “תן לי ממוצע של 5 דקות האחרונות”, וניהול נתונים אוטומטי (כמו מחיקת נתונים ישנים מ-30 יום).
שימושים קלאסיים: חיישנים, מטריקות של שרתים, נתוני שוק הון, מזג אוויר.
הסימולציה
בנינו סימולציה של השפעת מזג אוויר על גידול דגים בבריכות: נתוני מזג אוויר אמיתיים ונתוני דמה מציאותיים על הדגים.
הארכיטקטורה
- סקריפט פייתון שאוסף נתונים ויוצר נתוני דמה ושולח ל-InfluxDB
- סקריפט שמושך נתונים מ-InfluxDB
- דשבורד על הדוקר שמציג ויזואליזציות עם Grafana
Docker: InfluxDB הוא שרת נפרד (כמו PostgreSQL). במקום להתקין אותו על המכונה, דוקר מריץ אותו ב-container מבודד. יתרונות: קל להתקנה, קל למחיקה, אין “לכלוך” על המערכת.
הדאטה
מזג אוויר דרך Open-Meteo - API חינמי לגמרי ללא רישום. שולחים GET request עם קואורדינטות, מקבלים טמפרטורה, לחות, רוח.
RAS Simulator - class פייתון שקלוד כתב שמדמה חיישנים של בריכת דגים. הוא לוקח את הטמפרטורה החיצונית ומשתמש בה כדי לחשב טמפרטורת מים, pH, חמצן מומס, אמוניה.
הסקריפטים רצים קבוע ברקע ומתעדכנים בזמן אמת.
מודל חיזוי
דרך ספריית Prophet - ספרייה של Meta לחיזוי time series.
המודל חוזה את טמפרטורת המים: לוקח נתוני מזג אוויר כ-regressor (משתנה מסביר), כותב חיזויים ל-InfluxDB, מוצג בדשבורד עם קו כחול = actual וקו כתום מקווקו = predicted.