主页 > 互联网  > 

Dify本地安装

Dify本地安装

目录

方式一docker安装:

方式二源码安装:

Dify本地安装可以用docker方式,和源码编译方式。

先到云厂商平台申请一台Centos系统云主机,网络选择海外,需要公网IP,再按一下流程操作:

方式一docker安装:

安装docker compose: blog.csdn.net/weixin_56781779/article/details/132258636

安装dify并启动:

git clone github /langgenius/dify.git cd dify/docker export EXPOSE_NGINX_PORT=8080 docker compose up -d

启动后docker ps 可以看到以下容器

netstat -natp可以看到docker监听的端口是8080,设置安全组开发8080端口

访问 http://虚拟机ip:8080  根据情况输邮箱,用户名,密码 完成本地注册可以开始使用

方式二源码安装:

源码安装主要可以参考文档

docs.dify.ai/zh-hans/getting-started/install-self-hosted/local-source-code

文档里有一些要调整的地方:

安装数据库:

sudo apt-get update #安装pg redis sudo apt install redis-server wget postgresql postgresql-client -y sudo apt install nginx nodejs npm -y sudo wget github /weaviate/weaviate/releases/download/v1.27.12/weaviate-v1.27.12-linux-amd64.tar.gz sudo tar -zxf weaviate-v1.27.12-linux-amd64.tar.gz #安装向量数据库 sudo chmod +x weaviate sudo mv weaviate /opt

设置数据库密码:

修改/etc/redis/redis.conf,添加:requirepass difyai123456

启动redis:

service redis-server start

启动pg:

service postgresql start 

修改pg密码:

su - postgres psql CREATE DATABASE dify; ALTER USER postgres WITH PASSWORD 'difyai123456'; quit;

启动weaviate:

export PERSISTENCE_DATA_PATH=/var/lib/weaviate export QUERY_DEFAULTS_LIMIT=25 export AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED=false export DEFAULT_VECTORIZER_MODULE=none export CLUSTER_HOSTNAME=node1 export AUTHENTICATION_APIKEY_ENABLED=true export AUTHENTICATION_APIKEY_ALLOWED_KEYS=WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih export AUTHENTICATION_APIKEY_USERS=hello@dify.ai export AUTHORIZATION_ADMINLIST_ENABLED=true export AUTHORIZATION_ADMINLIST_USERS=hello@dify.ai cd /opt nohup ./weaviate --host 0.0.0.0 --port '8080' --scheme http |tee ./weaviate.log 2>&1 &

再按照文档进行源码安装,文档中

如果执行poetry shell失败的话以下命令要带上poetry run,否则会报错

poetry run flask db upgrade

启动前端,后端,和worker

#启动前端 export NEXT_PUBLIC_DEPLOY_ENV=DEVELOPMENT export NEXT_PUBLIC_EDITION=SELF_HOSTED export NEXT_PUBLIC_API_PREFIX=/console/api #不设置默认访问http://localhost/console/api export NEXT_PUBLIC_PUBLIC_API_PREFIX=/api #不设置默认访问http://localhost/api export NEXT_PUBLIC_SENTRY_DSN= export NEXT_TELEMETRY_DISABLED=1 export NEXT_PUBLIC_UPLOAD_IMAGE_AS_ICON=false export NEXT_PUBLIC_TEXT_GENERATION_TIMEOUT_MS=60000 export NEXT_PUBLIC_CSP_WHITELIST= export NEXT_PUBLIC_TOP_K_MAX_VALUE=10 export NEXT_PUBLIC_INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH=4000 nohup npm run start & #启动worker #start backend export CONSOLE_API_URL= export APP_API_URL= export WEB_SENTRY_DSN= export NEXT_TELEMETRY_DISABLED=0 export TEXT_GENERATION_TIMEOUT_MS=60000 export CSP_WHITELIST= export TOP_K_MAX_VALUE=10 export INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH=4000 cd /app/dify/api nohup poetry run celery -A app.celery worker -P gevent -c 1 -Q dataset,generation,mail,ops_trace --loglevel INFO ./celery.log 2>&1 & nohup poetry run flask run --host 0.0.0.0 --port=5001 --debug |tee ./backend.log 2>&1 &

这样跑起来只适合本机访问,如果要从公网访问还要假一层nginx,我们在前面已安装nginx,这里我们就配置nginx,让其可以代理访问dify

修改/etc/nginx/nginx.conf如下:

user -data; worker_processes auto; pid /run/nginx.pid; error_log /var/log/nginx/error.log; include /etc/nginx/modules-enabled/*.conf; events { worker_connections 768; # multi_accept on; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; client_max_body_size 15M; include /etc/nginx/conf.d/*.conf; }

修改文件 /etc/nginx/conf.d/default.conf

server { listen 8080; server_name _; location /console/api { proxy_pass http://127.0.0.1:5001; } location /api { proxy_pass http://127.0.0.1:5001; } location /v1 { proxy_pass http://127.0.0.1:5001; } location /files { proxy_pass http://127.0.0.1:5001; } location / { proxy_pass http://127.0.0.1:3000; } }

重启nginx:systemctl restart nginx

通过命令netstat -natp 确认nginx确实监听8080端口

访问 http://虚拟机ip:8080  后续页面访问同方式一

标签:

Dify本地安装由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Dify本地安装