# המשתמש הראשון והמנהל

> יצירת המשתמש הראשון ב-Nodaro באירוח עצמי, ומינוי מנהל במהדורת Business בפקודת SQL אחת, עם לוח הבקרה של Supabase או בלעדיו.

Source: https://nodaro.ai/he/docs/self-hosting/first-admin

**המשתמש הראשון** ב-Nodaro באירוח עצמי נרשם באפליקציה כמו כל אחד אחר, והופך למנהל השרת של ההתקנה. במהדורת Community זה הכול: אין במוצר תפקיד של מנהל. במהדורת Business ממנים אחר כך חשבון לתפקיד **מנהל** בפקודת SQL אחת, כי עדיין אין מנהל שיכול לעשות את זה באפליקציה.

## יצירת החשבון הראשון
פתחו את הדף `/setup` ובצעו את שלב 1, **יצירת פרטי ההתחברות לשרת**. החשבון הזה שייך רק לשרת שלכם. הוא לא חשבון Nodaro Cloud: חשבון כזה מגיע בשלב 2, ורק אם מחברים את ההתקנה ל-Nodaro Cloud.

שירות ההתחברות יוצר את המשתמש, ו-Nodaro יוצר את הפרופיל שלו אוטומטית. במערך השירותים המובנה של Compose לא נשלח אימייל אישור, ולכן החשבון עובד מיד.

## תפקידים
לכל פרופיל יש אחד משלושה תפקידים. התפקידים רלוונטיים במהדורת Business, שבה יש ממשק ניהול.

| תפקיד | מה הוא מוסיף |
| --- | --- |
| `user` | ברירת המחדל. משתמש בעורך. |
| `admin` | פותח את ממשק הניהול ומנהל את מפתחות הספק של ההתקנה. |
| `super_admin` | גם משנה את התפקידים של משתמשים אחרים בממשק הניהול. |

במהדורת Community כל משתמש פועל בלי הגבלות, וכל משתמש מחובר יכול לנהל את מפתחות הספק.

## מינוי חשבון למנהל
### פתיחת סשן SQL
ב**פרויקט Supabase מנוהל**, פתחו את לוח הבקרה של Supabase ובחרו **SQL editor** (עורך SQL).

ב**מערך המובנה**, שאין בו לוח בקרה, פתחו את `psql` בקונטיינר של מסד הנתונים:

```bash
docker compose -f docker-compose.community.yml exec db sh -c 'PGPASSWORD="$POSTGRES_PASSWORD" psql -U supabase_admin -d postgres'
```

### איתור המזהה של המשתמש
בלוח הבקרה של Supabase, המזהה נמצא תחת **Authentication › Users** (אימות › משתמשים). ב-`psql`, הציגו את רשימת המשתמשים:

```sql
SELECT id, email FROM auth.users;
```

### הגדרת התפקיד
```sql
UPDATE profiles
SET role = 'admin'
 WHERE id = '<user_uuid>';
```

לחשבון שצריך לנהל את התפקידים של משתמשים אחרים, השתמשו ב-`'super_admin'` במקום ב-`'admin'`.

### המתנה או הפעלה מחדש
השינוי נכנס לתוקף תוך 5 דקות, כי זה הזמן ש-Nodaro שומר במטמון את סטטוס המנהל של כל משתמש. כדי שהשינוי ייכנס לתוקף מיד, הפעילו מחדש את האפליקציה:

```bash
docker compose -f docker-compose.community.yml restart nodaro
```

## הגנה על חשבון הבעלים
בהתקנת Business, הגדירו את `PLATFORM_OWNER_EMAIL` לכתובת האימייל של חשבון הבעלים. אז אף מנהל אחר לא יכול לשנות את התפקיד של החשבון הזה. כשהמשתנה ריק, וזו ברירת המחדל, אף חשבון לא מוגן.

קובץ ה-Compose לא מעביר את `PLATFORM_OWNER_EMAIL` מ-`.env`. הוסיפו אותו תחת `environment:` של השירות `nodaro`:

```yaml
nodaro:
environment:
# ...the variables already listed...
PLATFORM_OWNER_EMAIL: owner@example.com
```

## ממשק הניהול דורש את מהדורת Business
האימג׳ שפורסם וקובץ ה-Compose מריצים את מהדורת Community, שאין בה ממשק ניהול. כדי לקבל ממשק ניהול, העבירו קודם את ההתקנה למהדורת Business: ראו את הדף [מהדורות ופרופילי ממשק](https://nodaro.ai/docs/self-hosting/editions-and-profiles#switch-a-self-hosted-install-to-business). יכולות הניהול של מהדורת Business הן יכולות Enterprise: ראו את הדף [רישיון](https://nodaro.ai/docs/self-hosting/license) לפני שאתם משתמשים בהן בסביבת ייצור.

## שאלות נפוצות

### איך ממנים משתמש למנהל ב-Nodaro באירוח עצמי?

אחרי שהמשתמש נרשם, מגדירים את העמודה role בפרופיל שלו ל-admin בפקודת SQL אחת, בעורך ה-SQL של Supabase או עם psql בקונטיינר של מסד הנתונים. ממשק הניהול קיים רק במהדורת Business.

### האם יש מנהלים במהדורת Community?

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

### כמה זמן לוקח עד שמינוי למנהל נכנס לתוקף?

מינוי למנהל נכנס לתוקף תוך 5 דקות לכל היותר, כי Nodaro שומר במטמון את סטטוס המנהל של כל משתמש למשך 5 דקות. כדי שהמינוי ייכנס לתוקף מיד, הפעילו מחדש את הקונטיינר של האפליקציה.

### למה משמש PLATFORM_OWNER_EMAIL?

המשתנה PLATFORM_OWNER_EMAIL קובע מהו חשבון הבעלים בהתקנת Business. אף מנהל אחר לא יכול לשנות את התפקיד של החשבון הזה. אם משאירים את המשתנה ריק, אף חשבון לא מוגן.
