129 lines
5.9 KiB
YAML
129 lines
5.9 KiB
YAML
---
|
|
#==============================================================#
|
|
# File : dify.yml
|
|
# Desc : pigsty config for running 1-node dify app
|
|
# Ctime : 2025-02-24
|
|
# Mtime : 2026-01-18
|
|
# Docs : https://pigsty.io/docs/app/odoo
|
|
# License : Apache-2.0 @ https://pigsty.io/docs/about/license/
|
|
# Copyright : 2018-2026 Ruohang Feng / Vonng (rh@vonng.com)
|
|
#==============================================================#
|
|
# Last Verified Dify Version: v1.8.1 on 2025-0908
|
|
# tutorial: https://pigsty.io/docs/app/dify
|
|
# how to use this template:
|
|
#
|
|
# curl -fsSL https://repo.pigsty.io/get | bash; cd ~/pigsty
|
|
# ./bootstrap # prepare local repo & ansible
|
|
# ./configure -c app/dify # use this dify config template
|
|
# vi pigsty.yml # IMPORTANT: CHANGE CREDENTIALS!!
|
|
# ./deploy.yml # install pigsty & pgsql & minio
|
|
# ./docker.yml # install docker & docker-compose
|
|
# ./app.yml # install dify with docker-compose
|
|
#
|
|
# To replace domain name:
|
|
# sed -ie 's/dify.pigsty/dify.pigsty.cc/g' pigsty.yml
|
|
|
|
|
|
all:
|
|
children:
|
|
|
|
# the dify application
|
|
dify:
|
|
hosts: { 10.10.10.10: {} }
|
|
vars:
|
|
app: dify # specify app name to be installed (in the apps)
|
|
apps: # define all applications
|
|
dify: # app name, should have corresponding ~/pigsty/app/dify folder
|
|
file: # data directory to be created
|
|
- { path: /data/dify ,state: directory ,mode: 0755 }
|
|
conf: # override /opt/dify/.env config file
|
|
|
|
# change domain, mirror, proxy, secret key
|
|
NGINX_SERVER_NAME: dify.pigsty
|
|
# A secret key for signing and encryption, gen with `openssl rand -base64 42` (CHANGE PASSWORD!)
|
|
SECRET_KEY: sk-somerandomkey
|
|
# expose DIFY nginx service with port 5001 by default
|
|
DIFY_PORT: 5001
|
|
# where to store dify files? the default is ./volume, we'll use another volume created above
|
|
DIFY_DATA: /data/dify
|
|
|
|
# proxy and mirror settings
|
|
#PIP_MIRROR_URL: https://pypi.tuna.tsinghua.edu.cn/simple
|
|
#SANDBOX_HTTP_PROXY: http://10.10.10.10:12345
|
|
#SANDBOX_HTTPS_PROXY: http://10.10.10.10:12345
|
|
|
|
# database credentials
|
|
DB_USERNAME: dify
|
|
DB_PASSWORD: difyai123456
|
|
DB_HOST: 10.10.10.10
|
|
DB_PORT: 5432
|
|
DB_DATABASE: dify
|
|
VECTOR_STORE: pgvector
|
|
PGVECTOR_HOST: 10.10.10.10
|
|
PGVECTOR_PORT: 5432
|
|
PGVECTOR_USER: dify
|
|
PGVECTOR_PASSWORD: difyai123456
|
|
PGVECTOR_DATABASE: dify
|
|
PGVECTOR_MIN_CONNECTION: 2
|
|
PGVECTOR_MAX_CONNECTION: 10
|
|
|
|
pg-meta:
|
|
hosts: { 10.10.10.10: { pg_seq: 1, pg_role: primary } }
|
|
vars:
|
|
pg_cluster: pg-meta
|
|
pg_users:
|
|
- { name: dify ,password: difyai123456 ,pgbouncer: true ,roles: [ dbrole_admin ] ,superuser: true ,comment: dify superuser }
|
|
pg_databases:
|
|
- { name: dify ,owner: dify ,comment: dify main database }
|
|
- { name: dify_plugin ,owner: dify ,comment: dify plugin daemon database }
|
|
pg_hba_rules:
|
|
- { user: dify ,db: all ,addr: 172.17.0.0/16 ,auth: pwd ,title: 'allow dify access from local docker network' }
|
|
pg_crontab: [ '00 01 * * * /pg/bin/pg-backup full' ] # make a full backup every 1am
|
|
|
|
infra: { hosts: { 10.10.10.10: { infra_seq: 1 } } }
|
|
etcd: { hosts: { 10.10.10.10: { etcd_seq: 1 } }, vars: { etcd_cluster: etcd } }
|
|
#minio: { hosts: { 10.10.10.10: { minio_seq: 1 } }, vars: { minio_cluster: minio } }
|
|
|
|
vars: # global variables
|
|
version: v4.0.0 # pigsty version string
|
|
admin_ip: 10.10.10.10 # admin node ip address
|
|
region: default # upstream mirror region: default|china|europe
|
|
node_tune: oltp # node tuning specs: oltp,olap,tiny,crit
|
|
pg_conf: oltp.yml # pgsql tuning specs: {oltp,olap,tiny,crit}.yml
|
|
|
|
docker_enabled: true # enable docker on app group
|
|
#docker_registry_mirrors: ["https://docker.1panel.live","https://docker.1ms.run","https://docker.xuanyuan.me","https://registry-1.docker.io"]
|
|
|
|
proxy_env: # global proxy env when downloading packages & pull docker images
|
|
no_proxy: "localhost,127.0.0.1,10.0.0.0/8,192.168.0.0/16,*.pigsty,*.aliyun.com,mirrors.*,*.tsinghua.edu.cn"
|
|
#http_proxy: 127.0.0.1:12345 # add your proxy env here for downloading packages or pull images
|
|
#https_proxy: 127.0.0.1:12345 # usually the proxy is format as http://user:pass@proxy.xxx.com
|
|
#all_proxy: 127.0.0.1:12345
|
|
|
|
infra_portal: # domain names and upstream servers
|
|
home : { domain: i.pigsty }
|
|
#minio : { domain: m.pigsty ,endpoint: "${admin_ip}:9001" ,scheme: https ,websocket: true }
|
|
dify: # nginx server config for dify
|
|
domain: dify.pigsty # REPLACE WITH YOUR OWN DOMAIN!
|
|
endpoint: "10.10.10.10:5001" # dify service endpoint: IP:PORT
|
|
websocket: true # add websocket support
|
|
certbot: dify.pigsty # certbot cert name, apply with `make cert`
|
|
|
|
repo_enabled: false
|
|
node_repo_modules: node,infra,pgsql
|
|
pg_version: 18
|
|
|
|
#----------------------------------------------#
|
|
# PASSWORD : https://pigsty.io/docs/setup/security/
|
|
#----------------------------------------------#
|
|
grafana_admin_password: pigsty
|
|
grafana_view_password: DBUser.Viewer
|
|
pg_admin_password: DBUser.DBA
|
|
pg_monitor_password: DBUser.Monitor
|
|
pg_replication_password: DBUser.Replicator
|
|
patroni_password: Patroni.API
|
|
haproxy_admin_password: pigsty
|
|
minio_secret_key: S3User.MinIO
|
|
etcd_root_password: Etcd.Root
|
|
...
|