Files
CodeNomad/docs/rtl-hebrew-deployment.md
MusiCode b11a9e3ec8 docs: add RTL+Hebrew deployment guide
Step-by-step guide covering npm global install (node only, not bun),
UI download and extraction, systemd user service setup, and update flow.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 21:04:32 +00:00

5.0 KiB

CodeNomad — התקנה ופריסה עם תמיכת RTL + עברית

מדריך זה מסביר כיצד להתקין ולהפעיל את CodeNomad עם ממשק RTL ותרגום עברית מלא (v0.12.3-rtl-he).


דרישות מוקדמות

  • Node.js 18+ — ההתקנה חייבת להתבצע דרך npm בלבד.

    ⚠️ bun אינו נתמך. השרת חייב לרוץ דרך node, לא bun.

  • OpenCode CLI — נדרש לפעולת הסוכן.

התקנת OpenCode

curl -fsSL https://opencode.ai/install | bash

1. התקנת CodeNomad גלובלית

npm install -g @neuralnomads/codenomad@latest

בדיקה:

codenomad --version

אם codenomad אינו נמצא ב-PATH, בדוק היכן npm מתקין packages גלובליים:

npm prefix -g
# הוסף את <output>/bin ל-PATH

2. הגדרת אישורים

mkdir -p ~/.config/codenomad
cat > ~/.config/codenomad/env <<'EOF'
CODENOMAD_SERVER_USERNAME=codenomad
CODENOMAD_SERVER_PASSWORD=your-password
EOF
chmod 600 ~/.config/codenomad/env

3. הורדת ממשק ה-RTL+Hebrew

הורדה וחילוץ אוטומטי

mkdir -p ~/.config/codenomad/ui

curl -L https://github.com/MusiCode1/CodeNomad/releases/download/v0.12.3-rtl-he/codenomad-ui-rtl-he.zip \
  -o /tmp/codenomad-ui-rtl-he.zip

python3 -c "
import zipfile, os
with zipfile.ZipFile('/tmp/codenomad-ui-rtl-he.zip') as z:
    z.extractall(os.path.expanduser('~/.config/codenomad/ui'))
print('Done.')
"

לאחר החילוץ, וודא שהתיקייה תקינה:

ls ~/.config/codenomad/ui/
# אמור לכלול: index.html, assets/, sw.js, ...

4. הפעלה ידנית (לבדיקה)

codenomad \
  --host 0.0.0.0 \
  --ui-dir ~/.config/codenomad/ui \
  --ui-no-update

פתח בדפדפן: http://<כתובת-השרת>:9899

בחלון ה-UI, עבור לבורר השפות ובחר עברית להפעלת התרגום.

אפשרות: עדכון אוטומטי של ה-UI מהמניפסט

במקום --ui-dir אפשר להשתמש ב---ui-manifest-url כדי שהשרת יוריד ויעדכן את ה-UI אוטומטית:

codenomad \
  --host 0.0.0.0 \
  --ui-manifest-url https://raw.githubusercontent.com/MusiCode1/CodeNomad/i18n-hebrew/manifest.json

במצב זה השרת יוריד את ה-UI בהפעלה הראשונה ויעדכן אוטומטית כשיוצאת גרסה חדשה.


5. שירות systemd (הפעלה אוטומטית עם המערכת)

יצירת קובץ השירות

mkdir -p ~/.config/systemd/user

מצא את נתיב ה-node וה-codenomad שלך:

which node        # למשל: /usr/bin/node
which codenomad   # למשל: /usr/local/bin/codenomad

צור את קובץ השירות:

cat > ~/.config/systemd/user/codenomad.service <<'EOF'
[Unit]
Description=CodeNomad Server (RTL + Hebrew)
After=network.target

[Service]
Type=simple
Restart=on-failure
RestartSec=5

# קובץ אישורים — ראה שלב 2
EnvironmentFile=%h/.config/codenomad/env

ExecStart=/usr/bin/node /usr/local/lib/node_modules/@neuralnomads/codenomad/dist/bin.js \
  --host 0.0.0.0 \
  --ui-dir %h/.config/codenomad/ui \
  --ui-no-update

[Install]
WantedBy=default.target
EOF

חשוב: החלף את הנתיבים בנתיבים מהפקודות which שהרצת למעלה. נתיב הבינארי של node: $(which node) נתיב bin.js: $(npm prefix -g)/lib/node_modules/@neuralnomads/codenomad/dist/bin.js

הפעלת השירות

systemctl --user daemon-reload
systemctl --user enable --now codenomad
systemctl --user status codenomad

לוגים

journalctl --user -u codenomad -f

6. הפעלה לאחר logout (שרתים ללא מסך)

loginctl enable-linger $USER

פקודה זו מאפשרת לשירותי המשתמש לרוץ גם כשאין session פעיל.


עדכון לגרסה חדשה

כשיוצאת גרסה חדשה:

# הורד את ה-UI החדש
curl -L https://github.com/MusiCode1/CodeNomad/releases/latest/download/codenomad-ui-rtl-he.zip \
  -o /tmp/codenomad-ui-rtl-he.zip

rm -rf ~/.config/codenomad/ui/*

python3 -c "
import zipfile, os
with zipfile.ZipFile('/tmp/codenomad-ui-rtl-he.zip') as z:
    z.extractall(os.path.expanduser('~/.config/codenomad/ui'))
"

systemctl --user restart codenomad

פתרון בעיות נפוצות

בעיה פתרון
codenomad: command not found הוסף $(npm prefix -g)/bin ל-~/.bashrc
השירות לא עולה בדוק נתיבים ב-ExecStart — חייב להיות node, לא bun
הממשק לא נטען וודא שהחלצה הצליחה: ls ~/.config/codenomad/ui/index.html
העברית לא מופיעה בחר את השפה ידנית מבורר השפות בממשק
השרת לא נגיש מרחוק וודא ש---host 0.0.0.0 מוגדר ושה-firewall פותח את פורט 9899