Files
nocobase/docs/docs/he/get-started/installation/docker.mdx
T
2026-02-24 09:29:14 +08:00

625 lines
19 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
:::tip
מסמך זה תורגם על ידי בינה מלאכותית. לכל אי דיוק, אנא עיין ב[גרסה האנגלית](/en)
:::
# התקנת NocoBase באמצעות Docker
:::tip דרישות קדם
- ודאו ש-[Docker](https://docs.docker.com/get-docker/) ו-Docker Compose מותקנים.
- ודאו ששירות Docker פועל.
:::
## 1. יצירת קובץ `docker-compose.yml`
```bash
# צרו תיקייה בשם my-project (או כל שם אחר) לאחסון קבצי המערכת ש-NocoBase תיצור
mkdir my-project && cd my-project
# צרו קובץ docker-compose.yml ריק
vi docker-compose.yml
```
## 2. הגדרת קובץ `docker-compose.yml`
בחרו גרסת NocoBase ([השוואת גרסאות](../quickstart.md)) וסוג מסד נתונים, ולאחר מכן העתיקו את ההגדרה המתאימה לקובץ `docker-compose.yml`.
:::tip הערות תצורה
- **בחירת אימג'**: `latest` `latest-full` `beta` `beta-full` `alpha` `alpha-full` `1.7.14` `1.7.14-full`
- בסביבות ייצור, מומלץ לקבע גרסה מספרית ספציפית כדי למנוע שדרוגים אוטומטיים לא מכוונים. [צפו בכל הגרסאות](https://hub.docker.com/r/nocobase/nocobase/tags)
- אימג' Docker Hub: `nocobase/nocobase:latest-full`
- ה**אימג' המלא** (full image) כולל את לקוחות PostgreSQL 16/17, MySQL 8.0, Oracle 19.25 הנדרשים עבור תוספי ניהול גיבויים והעברות, וכן את LibreOffice הנדרש להדפסת תבניות (PDF).
- אם אתם צריכים לבנות אימג' משלכם, תוכלו לעיין ב-[Dockerfile הרשמי (גרסה מצומצמת)](https://github.com/nocobase/nocobase/blob/main/docker/nocobase/Dockerfile) וב-[Dockerfile-full (גרסה מלאה)](https://github.com/nocobase/nocobase/blob/main/docker/nocobase/Dockerfile-full).
- **שינוי `APP_KEY`**: אנא החליפו את `your-secret-key` במחרוזת אקראית, המשמשת להצפנת מידע רגיש כגון אסימוני משתמש.
- **שימוש במסד נתונים קיים**: אם יש לכם כבר שירות מסד נתונים, אנא שנו את `DB_HOST` לכתובת שרת מסד הנתונים, ומחקו או הסירו את ההערה מהגדרת שירותי מסד הנתונים (לדוגמה, שירותי `postgres`, `mysql`, `mariadb`).
- **מיפוי פורטים**: כברירת מחדל, פורט 80 של הקונטיינר ממופה לפורט 13000 של המארח. תוכלו לשנות זאת לפי הצורך.
:::
<Tabs>
<Tab label="גרסת Latest">
<Tabs>
<Tab label="PostgreSQL">
```yml
networks:
nocobase:
driver: bridge
services:
app:
image: nocobase/nocobase:latest-full
restart: always
networks:
- nocobase
depends_on:
- postgres
environment:
# מפתח היישום, המשמש ליצירת אסימוני משתמש וכדומה.
# אם ה-APP_KEY משתנה, אסימונים ישנים יהפכו ללא חוקיים.
# יכול להיות כל מחרוזת אקראית, וודאו שהיא לא דולפת.
- APP_KEY=your-secret-key
# סוג מסד הנתונים, תומך ב-postgres, mysql, mariadb
- DB_DIALECT=postgres
# מארח מסד הנתונים, ניתן להחליף בכתובת IP של שרת מסד נתונים קיים.
- DB_HOST=postgres
# פורט מסד הנתונים
- DB_PORT=5432
# שם מסד הנתונים
- DB_DATABASE=nocobase
# משתמש מסד הנתונים
- DB_USER=nocobase
# סיסמת מסד הנתונים
- DB_PASSWORD=nocobase
# אזור זמן
- TZ=Asia/Shanghai
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# אם אתם משתמשים בשירות מסד נתונים קיים, תוכלו לדלג על הפעלת postgres.
postgres:
image: postgres:16
restart: always
command: postgres -c wal_level=logical
environment:
POSTGRES_USER: nocobase
POSTGRES_DB: nocobase
POSTGRES_PASSWORD: nocobase
volumes:
- ./storage/db/postgres:/var/lib/postgresql/data
networks:
- nocobase
```
</Tab>
<Tab label="MySQL">
```yml
networks:
nocobase:
driver: bridge
services:
app:
image: nocobase/nocobase:latest-full
restart: always
networks:
- nocobase
depends_on:
- mysql
environment:
# מפתח היישום, המשמש ליצירת אסימוני משתמש וכדומה.
# אם ה-APP_KEY משתנה, אסימונים ישנים יהפכו ללא חוקיים.
# יכול להיות כל מחרוזת אקראית, וודאו שהיא לא דולפת.
- APP_KEY=your-secret-key
# סוג מסד הנתונים, תומך ב-postgres, mysql, mariadb
- DB_DIALECT=mysql
# מארח מסד הנתונים, ניתן להחליף בכתובת IP של שרת מסד נתונים קיים.
- DB_HOST=mysql
# פורט מסד הנתונים
- DB_PORT=3306
# שם מסד הנתונים
- DB_DATABASE=nocobase
# משתמש מסד הנתונים
- DB_USER=root
# סיסמת מסד הנתונים
- DB_PASSWORD=nocobase
# האם להמיר שמות טבלאות ושדות לפורמט snake case
- DB_UNDERSCORED=true
# אזור זמן
- TZ=Asia/Shanghai
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# אם אתם משתמשים בשירות מסד נתונים קיים, תוכלו לדלג על הפעלת mysql.
mysql:
image: mysql:8
environment:
MYSQL_DATABASE: nocobase
MYSQL_USER: nocobase
MYSQL_PASSWORD: nocobase
MYSQL_ROOT_PASSWORD: nocobase
restart: always
volumes:
- ./storage/db/mysql:/var/lib/mysql
networks:
- nocobase
```
</Tab>
<Tab label="MariaDB">
```yml
networks:
nocobase:
driver: bridge
services:
app:
image: nocobase/nocobase:latest-full
restart: always
networks:
- nocobase
depends_on:
- mariadb
environment:
# מפתח היישום, המשמש ליצירת אסימוני משתמש וכדומה.
# אם ה-APP_KEY משתנה, אסימונים ישנים יהפכו ללא חוקיים.
# יכול להיות כל מחרוזת אקראית, וודאו שהיא לא דולפת.
- APP_KEY=your-secret-key
# סוג מסד הנתונים, תומך ב-postgres, mysql, mariadb
- DB_DIALECT=mariadb
# מארח מסד הנתונים, ניתן להחליף בכתובת IP של שרת מסד נתונים קיים.
- DB_HOST=mariadb
# פורט מסד הנתונים
- DB_PORT=3306
# שם מסד הנתונים
- DB_DATABASE=nocobase
# משתמש מסד הנתונים
- DB_USER=root
# סיסמת מסד הנתונים
- DB_PASSWORD=nocobase
# האם להמיר שמות טבלאות ושדות לפורמט snake case
- DB_UNDERSCORED=true
# אזור זמן
- TZ=Asia/Shanghai
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# אם אתם משתמשים בשירות מסד נתונים קיים, תוכלו לדלג על הפעלת mariadb.
mariadb:
image: mariadb:11
environment:
MYSQL_DATABASE: nocobase
MYSQL_USER: nocobase
MYSQL_PASSWORD: nocobase
MYSQL_ROOT_PASSWORD: nocobase
restart: always
volumes:
- ./storage/db/mariadb:/var/lib/mysql
networks:
- nocobase
```
</Tab>
</Tabs>
</Tab>
<Tab label="גרסת Beta">
<Tabs>
<Tab label="PostgreSQL">
```yml
networks:
nocobase:
driver: bridge
services:
app:
image: nocobase/nocobase:beta-full
restart: always
networks:
- nocobase
depends_on:
- postgres
environment:
# מפתח היישום, המשמש ליצירת אסימוני משתמש וכדומה.
# אם ה-APP_KEY משתנה, אסימונים ישנים יהפכו ללא חוקיים.
# יכול להיות כל מחרוזת אקראית, וודאו שהיא לא דולפת.
- APP_KEY=your-secret-key
# סוג מסד הנתונים, תומך ב-postgres, mysql, mariadb
- DB_DIALECT=postgres
# מארח מסד הנתונים, ניתן להחליף בכתובת IP של שרת מסד נתונים קיים.
- DB_HOST=postgres
# פורט מסד הנתונים
- DB_PORT=5432
# שם מסד הנתונים
- DB_DATABASE=nocobase
# משתמש מסד הנתונים
- DB_USER=nocobase
# סיסמת מסד הנתונים
- DB_PASSWORD=nocobase
# אזור זמן
- TZ=Asia/Shanghai
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# אם אתם משתמשים בשירות מסד נתונים קיים, תוכלו לדלג על הפעלת postgres.
postgres:
image: postgres:16
restart: always
command: postgres -c wal_level=logical
environment:
POSTGRES_USER: nocobase
POSTGRES_DB: nocobase
POSTGRES_PASSWORD: nocobase
volumes:
- ./storage/db/postgres:/var/lib/postgresql/data
networks:
- nocobase
```
</Tab>
<Tab label="MySQL">
```yml
networks:
nocobase:
driver: bridge
services:
app:
image: nocobase/nocobase:beta-full
restart: always
networks:
- nocobase
depends_on:
- mysql
environment:
# מפתח היישום, המשמש ליצירת אסימוני משתמש וכדומה.
# אם ה-APP_KEY משתנה, אסימונים ישנים יהפכו ללא חוקיים.
# יכול להיות כל מחרוזת אקראית, וודאו שהיא לא דולפת.
- APP_KEY=your-secret-key
# סוג מסד הנתונים, תומך ב-postgres, mysql, mariadb
- DB_DIALECT=mysql
# מארח מסד הנתונים, ניתן להחליף בכתובת IP של שרת מסד נתונים קיים.
- DB_HOST=mysql
# פורט מסד הנתונים
- DB_PORT=3306
# שם מסד הנתונים
- DB_DATABASE=nocobase
# משתמש מסד הנתונים
- DB_USER=root
# סיסמת מסד הנתונים
- DB_PASSWORD=nocobase
# האם להמיר שמות טבלאות ושדות לפורמט snake case
- DB_UNDERSCORED=true
# אזור זמן
- TZ=Asia/Shanghai
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# אם אתם משתמשים בשירות מסד נתונים קיים, תוכלו לדלג על הפעלת mysql.
mysql:
image: mysql:8
environment:
MYSQL_DATABASE: nocobase
MYSQL_USER: nocobase
MYSQL_PASSWORD: nocobase
MYSQL_ROOT_PASSWORD: nocobase
restart: always
volumes:
- ./storage/db/mysql:/var/lib/mysql
networks:
- nocobase
```
</Tab>
<Tab label="MariaDB">
```yml
networks:
nocobase:
driver: bridge
services:
app:
image: nocobase/nocobase:beta-full
restart: always
networks:
- nocobase
depends_on:
- mariadb
environment:
# מפתח היישום, המשמש ליצירת אסימוני משתמש וכדומה.
# אם ה-APP_KEY משתנה, אסימונים ישנים יהפכו ללא חוקיים.
# יכול להיות כל מחרוזת אקראית, וודאו שהיא לא דולפת.
- APP_KEY=your-secret-key
# סוג מסד הנתונים, תומך ב-postgres, mysql, mariadb
- DB_DIALECT=mariadb
# מארח מסד הנתונים, ניתן להחליף בכתובת IP של שרת מסד נתונים קיים.
- DB_HOST=mariadb
# פורט מסד הנתונים
- DB_PORT=3306
# שם מסד הנתונים
- DB_DATABASE=nocobase
# משתמש מסד הנתונים
- DB_USER=root
# סיסמת מסד הנתונים
- DB_PASSWORD=nocobase
# האם להמיר שמות טבלאות ושדות לפורמט snake case
- DB_UNDERSCORED=true
# אזור זמן
- TZ=Asia/Shanghai
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# אם אתם משתמשים בשירות מסד נתונים קיים, תוכלו לדלג על הפעלת mariadb.
mariadb:
image: mariadb:11
environment:
MYSQL_DATABASE: nocobase
MYSQL_USER: nocobase
MYSQL_PASSWORD: nocobase
MYSQL_ROOT_PASSWORD: nocobase
restart: always
volumes:
- ./storage/db/mariadb:/var/lib/mysql
networks:
- nocobase
```
</Tab>
</Tabs>
</Tab>
<Tab label="גרסת Alpha">
<Tabs>
<Tab label="PostgreSQL">
```yml
networks:
nocobase:
driver: bridge
services:
app:
image: nocobase/nocobase:alpha-full
restart: always
networks:
- nocobase
depends_on:
- postgres
environment:
# מפתח היישום, המשמש ליצירת אסימוני משתמש וכדומה.
# אם ה-APP_KEY משתנה, אסימונים ישנים יהפכו ללא חוקיים.
# יכול להיות כל מחרוזת אקראית, וודאו שהיא לא דולפת.
- APP_KEY=your-secret-key
# סוג מסד הנתונים, תומך ב-postgres, mysql, mariadb
- DB_DIALECT=postgres
# מארח מסד הנתונים, ניתן להחליף בכתובת IP של שרת מסד נתונים קיים.
- DB_HOST=postgres
# פורט מסד הנתונים
- DB_PORT=5432
# שם מסד הנתונים
- DB_DATABASE=nocobase
# משתמש מסד הנתונים
- DB_USER=nocobase
# סיסמת מסד הנתונים
- DB_PASSWORD=nocobase
# אזור זמן
- TZ=Asia/Shanghai
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# אם אתם משתמשים בשירות מסד נתונים קיים, תוכלו לדלג על הפעלת postgres.
postgres:
image: postgres:16
restart: always
command: postgres -c wal_level=logical
environment:
POSTGRES_USER: nocobase
POSTGRES_DB: nocobase
POSTGRES_PASSWORD: nocobase
volumes:
- ./storage/db/postgres:/var/lib/postgresql/data
networks:
- nocobase
```
</Tab>
<Tab label="MySQL">
```yml
networks:
nocobase:
driver: bridge
services:
app:
image: nocobase/nocobase:alpha-full
restart: always
networks:
- nocobase
depends_on:
- mysql
environment:
# מפתח היישום, המשמש ליצירת אסימוני משתמש וכדומה.
# אם ה-APP_KEY משתנה, אסימונים ישנים יהפכו ללא חוקיים.
# יכול להיות כל מחרוזת אקראית, וודאו שהיא לא דולפת.
- APP_KEY=your-secret-key
# סוג מסד הנתונים, תומך ב-postgres, mysql, mariadb
- DB_DIALECT=mysql
# מארח מסד הנתונים, ניתן להחליף בכתובת IP של שרת מסד נתונים קיים.
- DB_HOST=mysql
# פורט מסד הנתונים
- DB_PORT=3306
# שם מסד הנתונים
- DB_DATABASE=nocobase
# משתמש מסד הנתונים
- DB_USER=root
# סיסמת מסד הנתונים
- DB_PASSWORD=nocobase
# האם להמיר שמות טבלאות ושדות לפורמט snake case
- DB_UNDERSCORED=true
# אזור זמן
- TZ=Asia/Shanghai
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# אם אתם משתמשים בשירות מסד נתונים קיים, תוכלו לדלג על הפעלת mysql.
mysql:
image: mysql:8
environment:
MYSQL_DATABASE: nocobase
MYSQL_USER: nocobase
MYSQL_PASSWORD: nocobase
MYSQL_ROOT_PASSWORD: nocobase
restart: always
volumes:
- ./storage/db/mysql:/var/lib/mysql
networks:
- nocobase
```
</Tab>
<Tab label="MariaDB">
```yml
networks:
nocobase:
driver: bridge
services:
app:
image: nocobase/nocobase:alpha-full
restart: always
networks:
- nocobase
depends_on:
- mariadb
environment:
# מפתח היישום, המשמש ליצירת אסימוני משתמש וכדומה.
# אם ה-APP_KEY משתנה, אסימונים ישנים יהפכו ללא חוקיים.
# יכול להיות כל מחרוזת אקראית, וודאו שהיא לא דולפת.
- APP_KEY=your-secret-key
# סוג מסד הנתונים, תומך ב-postgres, mysql, mariadb
- DB_DIALECT=mariadb
# מארח מסד הנתונים, ניתן להחליף בכתובת IP של שרת מסד נתונים קיים.
- DB_HOST=mariadb
# פורט מסד הנתונים
- DB_PORT=3306
# שם מסד הנתונים
- DB_DATABASE=nocobase
# משתמש מסד הנתונים
- DB_USER=root
# סיסמת מסד הנתונים
- DB_PASSWORD=nocobase
# האם להמיר שמות טבלאות ושדות לפורמט snake case
- DB_UNDERSCORED=true
# אזור זמן
- TZ=Asia/Shanghai
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# אם אתם משתמשים בשירות מסד נתונים קיים, תוכלו לדלג על הפעלת mariadb.
mariadb:
image: mariadb:11
environment:
MYSQL_DATABASE: nocobase
MYSQL_USER: nocobase
MYSQL_PASSWORD: nocobase
MYSQL_ROOT_PASSWORD: nocobase
restart: always
volumes:
- ./storage/db/mariadb:/var/lib/mysql
networks:
- nocobase
```
</Tab>
</Tabs>
</Tab>
</Tabs>
## 3. התקנה והפעלה של NocoBase
```bash
# משכו את האימג' העדכני ביותר
docker compose pull
# הפעילו ברקע (ההתקנה תתבצע אוטומטית בהפעלה הראשונה)
docker compose up -d
# צפו ביומני ההתקנה וההפעלה
docker compose logs -f app
app-postgres-app-1 | nginx started
app-postgres-app-1 | yarn run v1.22.15
app-postgres-app-1 | $ cross-env DOTENV_CONFIG_PATH=.env node -r dotenv/config packages/app/server/lib/index.js install -s
app-postgres-app-1 | Done in 2.72s.
app-postgres-app-1 | yarn run v1.22.15
app-postgres-app-1 | $ pm2-runtime start --node-args="-r dotenv/config" packages/app/server/lib/index.js -- start
app-postgres-app-1 | 2022-04-28T15:45:38: PM2 log: Launching in no daemon mode
app-postgres-app-1 | 2022-04-28T15:45:38: PM2 log: App [index:0] starting in -fork mode-
app-postgres-app-1 | 2022-04-28T15:45:38: PM2 log: App [index:0] online
app-postgres-app-1 | 🚀 NocoBase server running at: http://localhost:13000/
```
## 4. התחברות ל-NocoBase
פתחו את [http://localhost:13000](http://localhost:13000) בדפדפן שלכם. שם המשתמש והסיסמה הראשוניים הם `admin@nocobase.com` ו-`admin123`.
:::warning אזהרת אבטחת חשבון
לאחר ההתחברות הראשונית, אנא שנו את סיסמת ברירת המחדל בהקדם כדי להבטיח את אבטחת המערכת.
:::