mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-14 03:45:55 +08:00
docs(readme): Optimize the content in the readme file (#5364)
Co-authored-by: 开坦克的贝塔 <k@aircode.io> Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
This commit is contained in:
parent
85eee0dfbb
commit
7d5ebbb611
@ -11,28 +11,34 @@
|
|||||||
docker-compose -f docker-compose.middleware.yaml -p dify up -d
|
docker-compose -f docker-compose.middleware.yaml -p dify up -d
|
||||||
cd ../api
|
cd ../api
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Copy `.env.example` to `.env`
|
2. Copy `.env.example` to `.env`
|
||||||
3. Generate a `SECRET_KEY` in the `.env` file.
|
3. Generate a `SECRET_KEY` in the `.env` file.
|
||||||
|
|
||||||
```bash
|
```bash for Linux
|
||||||
sed -i "/^SECRET_KEY=/c\SECRET_KEY=$(openssl rand -base64 42)" .env
|
sed -i "/^SECRET_KEY=/c\SECRET_KEY=$(openssl rand -base64 42)" .env
|
||||||
```
|
```
|
||||||
|
|
||||||
|
```bash for Mac
|
||||||
|
secret_key=$(openssl rand -base64 42)
|
||||||
|
sed -i '' "/^SECRET_KEY=/c\\
|
||||||
|
SECRET_KEY=${secret_key}" .env
|
||||||
|
```
|
||||||
|
|
||||||
4. Create environment.
|
4. Create environment.
|
||||||
|
|
||||||
Dify API service uses [Poetry](https://python-poetry.org/docs/) to manage dependencies. You can execute `poetry shell` to activate the environment.
|
Dify API service uses [Poetry](https://python-poetry.org/docs/) to manage dependencies. You can execute `poetry shell` to activate the environment.
|
||||||
|
|
||||||
> Using pip can be found [below](#usage-with-pip).
|
> Using pip can be found [below](#usage-with-pip).
|
||||||
|
|
||||||
|
5. Install dependencies
|
||||||
|
|
||||||
|
=======
|
||||||
```bash
|
```bash
|
||||||
poetry env use 3.10
|
poetry env use 3.10
|
||||||
```
|
|
||||||
|
|
||||||
6. Install dependencies
|
|
||||||
|
|
||||||
```bash
|
|
||||||
poetry install
|
poetry install
|
||||||
```
|
```
|
||||||
|
|
||||||
In case of contributors missing to update dependencies for `pyproject.toml`, you can perform the following shell instead.
|
In case of contributors missing to update dependencies for `pyproject.toml`, you can perform the following shell instead.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -41,23 +47,23 @@
|
|||||||
poetry add $(cat requirements-dev.txt) --group dev # install dependencies of development and update pyproject.toml
|
poetry add $(cat requirements-dev.txt) --group dev # install dependencies of development and update pyproject.toml
|
||||||
```
|
```
|
||||||
|
|
||||||
7. Run migrate
|
6. Run migrate
|
||||||
|
|
||||||
Before the first launch, migrate the database to the latest version.
|
Before the first launch, migrate the database to the latest version.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
poetry run python -m flask db upgrade
|
poetry run python -m flask db upgrade
|
||||||
```
|
```
|
||||||
|
|
||||||
8. Start backend
|
7. Start backend
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
poetry run python -m flask run --host 0.0.0.0 --port=5001 --debug
|
poetry run python -m flask run --host 0.0.0.0 --port=5001 --debug
|
||||||
```
|
```
|
||||||
|
|
||||||
9. Start Dify [web](../web) service.
|
8. Start Dify [web](../web) service.
|
||||||
10. Setup your application by visiting `http://localhost:3000`...
|
9. Setup your application by visiting `http://localhost:3000`...
|
||||||
11. If you need to debug local async processing, please start the worker service.
|
10. If you need to debug local async processing, please start the worker service.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
poetry run python -m celery -A app.celery worker -P gevent -c 1 --loglevel INFO -Q dataset,generation,mail
|
poetry run python -m celery -A app.celery worker -P gevent -c 1 --loglevel INFO -Q dataset,generation,mail
|
||||||
@ -65,23 +71,21 @@
|
|||||||
|
|
||||||
The started celery app handles the async tasks, e.g. dataset importing and documents indexing.
|
The started celery app handles the async tasks, e.g. dataset importing and documents indexing.
|
||||||
|
|
||||||
|
|
||||||
## Testing
|
## Testing
|
||||||
|
|
||||||
1. Install dependencies for both the backend and the test environment
|
1. Install dependencies for both the backend and the test environment
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
poetry install --with dev
|
poetry install --with dev
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Run the tests locally with mocked system environment variables in `tool.pytest_env` section in `pyproject.toml`
|
2. Run the tests locally with mocked system environment variables in `tool.pytest_env` section in `pyproject.toml`
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd ../
|
cd ../
|
||||||
poetry run -C api bash dev/pytest/pytest_all_tests.sh
|
poetry run -C api bash dev/pytest/pytest_all_tests.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Usage with pip
|
## Usage with pip
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
@ -96,7 +100,7 @@
|
|||||||
docker-compose -f docker-compose.middleware.yaml -p dify up -d
|
docker-compose -f docker-compose.middleware.yaml -p dify up -d
|
||||||
cd ../api
|
cd ../api
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Copy `.env.example` to `.env`
|
2. Copy `.env.example` to `.env`
|
||||||
3. Generate a `SECRET_KEY` in the `.env` file.
|
3. Generate a `SECRET_KEY` in the `.env` file.
|
||||||
|
|
||||||
@ -105,21 +109,21 @@
|
|||||||
```
|
```
|
||||||
|
|
||||||
4. Create environment.
|
4. Create environment.
|
||||||
|
|
||||||
If you use Anaconda, create a new environment and activate it
|
If you use Anaconda, create a new environment and activate it
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
conda create --name dify python=3.10
|
conda create --name dify python=3.10
|
||||||
conda activate dify
|
conda activate dify
|
||||||
```
|
```
|
||||||
|
|
||||||
6. Install dependencies
|
5. Install dependencies
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
7. Run migrate
|
6. Run migrate
|
||||||
|
|
||||||
Before the first launch, migrate the database to the latest version.
|
Before the first launch, migrate the database to the latest version.
|
||||||
|
|
||||||
@ -127,27 +131,17 @@
|
|||||||
flask db upgrade
|
flask db upgrade
|
||||||
```
|
```
|
||||||
|
|
||||||
8. Start backend:
|
7. Start backend:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
flask run --host 0.0.0.0 --port=5001 --debug
|
flask run --host 0.0.0.0 --port=5001 --debug
|
||||||
```
|
```
|
||||||
9. Setup your application by visiting http://localhost:5001/console/api/setup or other apis...
|
|
||||||
10. If you need to debug local async processing, please start the worker service.
|
8. Setup your application by visiting <http://localhost:5001/console/api/setup> or other apis...
|
||||||
|
9. If you need to debug local async processing, please start the worker service.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
celery -A app.celery worker -P gevent -c 1 --loglevel INFO -Q dataset,generation,mail
|
celery -A app.celery worker -P gevent -c 1 --loglevel INFO -Q dataset,generation,mail
|
||||||
```
|
```
|
||||||
|
|
||||||
The started celery app handles the async tasks, e.g. dataset importing and documents indexing.
|
The started celery app handles the async tasks, e.g. dataset importing and documents indexing.
|
||||||
|
|
||||||
|
|
||||||
## Testing
|
|
||||||
|
|
||||||
1. Install dependencies for both the backend and the test environment
|
|
||||||
```bash
|
|
||||||
pip install -r requirements.txt -r requirements-dev.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Run the tests locally with mocked system environment variables in `tool.pytest_env` section in `pyproject.toml`
|
|
||||||
```bash
|
|
||||||
dev/pytest/pytest_all_tests.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
# Dify Frontend
|
# Dify Frontend
|
||||||
|
|
||||||
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
|
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
|
||||||
|
|
||||||
## Getting Started
|
## Getting Started
|
||||||
|
|
||||||
### Run by source code
|
### Run by source code
|
||||||
|
|
||||||
To start the web frontend service, you will need [Node.js v18.x (LTS)](https://nodejs.org/en) and [NPM version 8.x.x](https://www.npmjs.com/) or [Yarn](https://yarnpkg.com/).
|
To start the web frontend service, you will need [Node.js v18.x (LTS)](https://nodejs.org/en) and [NPM version 8.x.x](https://www.npmjs.com/) or [Yarn](https://yarnpkg.com/).
|
||||||
|
|
||||||
First, install the dependencies:
|
First, install the dependencies:
|
||||||
@ -14,6 +17,7 @@ yarn install --frozen-lockfile
|
|||||||
```
|
```
|
||||||
|
|
||||||
Then, configure the environment variables. Create a file named `.env.local` in the current directory and copy the contents from `.env.example`. Modify the values of these environment variables according to your requirements:
|
Then, configure the environment variables. Create a file named `.env.local` in the current directory and copy the contents from `.env.example`. Modify the values of these environment variables according to your requirements:
|
||||||
|
|
||||||
```
|
```
|
||||||
# For production release, change this to PRODUCTION
|
# For production release, change this to PRODUCTION
|
||||||
NEXT_PUBLIC_DEPLOY_ENV=DEVELOPMENT
|
NEXT_PUBLIC_DEPLOY_ENV=DEVELOPMENT
|
||||||
@ -45,27 +49,35 @@ Open [http://localhost:3000](http://localhost:3000) with your browser to see the
|
|||||||
You can start editing the file under folder `app`. The page auto-updates as you edit the file.
|
You can start editing the file under folder `app`. The page auto-updates as you edit the file.
|
||||||
|
|
||||||
## Deploy
|
## Deploy
|
||||||
|
|
||||||
### Deploy on server
|
### Deploy on server
|
||||||
|
|
||||||
First, build the app for production:
|
First, build the app for production:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm run build
|
npm run build
|
||||||
```
|
```
|
||||||
|
|
||||||
Then, start the server:
|
Then, start the server:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm run start
|
npm run start
|
||||||
```
|
```
|
||||||
|
|
||||||
If you want to customize the host and port:
|
If you want to customize the host and port:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm run start --port=3001 --host=0.0.0.0
|
npm run start --port=3001 --host=0.0.0.0
|
||||||
```
|
```
|
||||||
|
|
||||||
## Lint Code
|
## Lint Code
|
||||||
|
|
||||||
If your IDE is VSCode, rename `web/.vscode/settings.example.json` to `web/.vscode/settings.json` for lint code setting.
|
If your IDE is VSCode, rename `web/.vscode/settings.example.json` to `web/.vscode/settings.json` for lint code setting.
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
Visit https://docs.dify.ai/getting-started/readme to view the full documentation.
|
|
||||||
|
Visit <https://docs.dify.ai/getting-started/readme> to view the full documentation.
|
||||||
|
|
||||||
## Community
|
## Community
|
||||||
|
|
||||||
The Dify community can be found on [Discord community](https://discord.gg/5AEfbxcd9k), where you can ask questions, voice ideas, and share your projects.
|
The Dify community can be found on [Discord community](https://discord.gg/5AEfbxcd9k), where you can ask questions, voice ideas, and share your projects.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user