AI需要的环境太多太杂了,常用docker部署,方便迁移,不污染本地环境。
Docker
https://www.docker.com/products/docker-desktop/下载桌面版
首先进入设置-Docker Engine,设置镜像
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn"
]
}
右下角>_标记点击进入命令行
ES
docker run -d --name es-node \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e "xpack.security.enabled=false" \
docker.elastic.co/elasticsearch/elasticsearch:8.19.10
下载分词器
docker cp elasticsearch-analysis-ik-8.19.10.zip es-node:/usr/share/elasticsearch/
docker exec -it es-node /bin/bash
./bin/elasticsearch-plugin install file:///usr/share/elasticsearch/elasticsearch-analysis-ik-8.19.10.zip
## 验证是否安装成功
curl -X GET "localhost:9200/_cat/plugins?v"
Mysql
services:
mysql:
image: mysql:8.0
container_name: mysql8
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: 123456
TZ: Asia/Shanghai
volumes:
- mysql-data:/var/lib/mysql
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_unicode_ci
--default-authentication-plugin=mysql_native_password
restart: unless-stopped
networks:
- xxl-net
networks:
xxl-net:
volumes:
mysql-data:
XXL-JOB
https://raw.githubusercontent.com/xuxueli/xxl-job/3.4.2/doc/db/tables_xxl_job.sql
services:
xxl-job-admin:
image: osmiling/xxl-job:3.4.2
container_name: xxl-job
ports:
- "8080:8080"
environment:
TZ: Asia/Shanghai
DB_HOST: mysql8
DB_PORT: "3306"
DB_NAME: xxl_job
DB_USER: root
DB_PASSWORD: 123456
SPRING_DATASOURCE_URL: jdbc:mysql://mysql8:3306/xxl_job?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true
SPRING_DATASOURCE_USERNAME: root
SPRING_DATASOURCE_PASSWORD: 123456
networks:
- xxl-net
restart: unless-stopped
networks:
xxl-net:
external: true
name: docker_xxl-net
Neo4j
docker run \
--name neo4j \
-p 7474:7474 -p 7687:7687 \
-v $HOME/neo4j/data:/data \
-v $HOME/neo4j/logs:/logs \
-v $HOME/neo4j/conf:/conf \
-e NEO4J_AUTH=neo4j/neo4j666 \
-e NEO4JLABS_PLUGINS='["apoc"]' \
-d neo4j:5.22-community
MinIO
#linux:
sudo docker run -d \
-p 9000:9000 \
-p 9001:9001 \
--name minio-server \
-e "MINIO_ROOT_USER=minioadmin" \
-e "MINIO_ROOT_PASSWORD=minioadmin" \
-v /mnt/data/minio:/data \
minio/minio server /data --console-address ":9001"
#mac:
sudo docker run -d \
-p 9000:9000 \
-p 9001:9001 \
--name minio-server \
-e "MINIO_ROOT_USER=minioadmin" \
-e "MINIO_ROOT_PASSWORD=minioadmin" \
-v /Users/$(whoami)/data/minio:/data \
minio/minio server /data --console-address ":9001"
# 直接安装
# 安装官方minio
brew install minio/stable/minio
mkdir -p ~/data/minio
MINIO_ROOT_USER=minioadmin MINIO_ROOT_PASSWORD=minioadmin minio server ~/data/minio --console-address ":9001"
brew services start minio
brew services stop minio
Redis
docker run -d \
--name redis \
-p 6379:6379 \
-v redis-data:/data \
redis redis-server --requirepass 123456 --appendonly yes
Dify
git clone https://github.com/langgenius/dify.git
git checkout 1.16.1 # 新版需要填智能体的token配置总是失败,所以切回旧版
#直接用默认的配置即可,用的是pgsql
cp .env.example .env
docker compose up -d