1、清理旧文件,创建目录

cd /opt/dify
rm -rf *
mkdir -p nginx volumes/app volumes/postgres volumes/redis volumes/static

2、写入 docker-compose.yml

vim docker-compose.yml

粘贴内容:

version: '3.8'

services:
  api:
    image: langgenius/dify-api:latest
    restart: always
    environment:
      TZ: Asia/Shanghai
    env_file: .env
    volumes:
      - ./volumes/app:/app/api
    depends_on:
      - db
      - redis
    networks:
      - dify-network

  web:
    image: langgenius/dify-web:latest
    restart: always
    environment:
      TZ: Asia/Shanghai
    env_file: .env
    depends_on:
      - api
    networks:
      - dify-network

  db:
    image: postgres:15-alpine
    restart: always
    environment:
      TZ: Asia/Shanghai
    env_file: .env
    volumes:
      - ./volumes/postgres:/var/lib/postgresql/data
    networks:
      - dify-network

  redis:
    image: redis:6-alpine
    restart: always
    volumes:
      - ./volumes/redis:/data
    networks:
      - dify-network

  nginx:
    image: nginx:alpine
    restart: always
    ports:
      - "80:80"
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
      - ./volumes/static:/usr/share/nginx/html
    depends_on:
      - api
      - web
    networks:
      - dify-network

networks:
  dify-network:

保存 :wq

3、Nginx 配置

vim nginx/nginx.conf
server {
    listen 80;
    server_name _;

    location / {
        root /usr/share/nginx/html;
        try_files $uri $uri/ /index.html;
    }

    location /api {
        proxy_pass http://api:5001;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

保存退出

4、.env 配置(IP 已填 192.168.0.106)

vim .env
CONSOLE_API_URL=http://192.168.0.106
APP_API_URL=http://192.168.0.106

POSTGRES_USER=dify
POSTGRES_PASSWORD=Dify@20260720
POSTGRES_DB=dify

SECRET_KEY=dify-secret-1921680106-random-abc123xyz

VECTOR_STORE=chroma
CHROMA_PERSIST_PATH=/app/api/.chroma

TZ=Asia/Shanghai

保存退出

# 检查yaml格式
docker compose config

# 后台启动
docker compose up -d

6、放行防火墙端口(CentOS)

firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload

访问地址

浏览器打开:http://192.168.0.106 首次注册管理员,不需要额外密钥,直接注册即可。

排错命令

# 查看实时日志
docker compose logs -f
# 重启
docker compose restart
# 停止
docker compose down

更多推荐