API 参考
使用指南-部署指南
部署指南章节。
部署指南
Docker Compose 示例
version: '3.8'
services:
app:
image: my-nebula-app:latest
ports:
- "8080:8080"
environment:
- SPRING_PROFILES_ACTIVE=prod
- MYSQL_HOST=mysql
- REDIS_HOST=redis
- RABBITMQ_HOST=rabbitmq
- MINIO_ENDPOINT=http://minio:9000
- ELASTICSEARCH_URIS=http://elasticsearch:9200
- OPENAI_API_KEY=${OPENAI_API_KEY}
depends_on:
- mysql
- redis
- rabbitmq
- minio
- elasticsearch
- chroma
mysql:
image: mysql:8.0
environment:
MYSQL_DATABASE: nebula
MYSQL_ROOT_PASSWORD: password
volumes:
- mysql_data:/var/lib/mysql
redis:
image: redis:7-alpine
volumes:
- redis_data:/data
rabbitmq:
image: rabbitmq:3-management-alpine
environment:
RABBITMQ_DEFAULT_USER: nebula
RABBITMQ_DEFAULT_PASS: password
volumes:
- rabbitmq_data:/var/lib/rabbitmq
minio:
image: minio/minio:latest
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: minioadmin
volumes:
- minio_data:/data
elasticsearch:
image: elasticsearch:8.11.0
environment:
- discovery.type=single-node
- xpack.security.enabled=false
volumes:
- es_data:/usr/share/elasticsearch/data
chroma:
image: chromadb/chroma:latest
ports:
- "8000:8000"
volumes:
- chroma_data:/chroma/chroma
# Playwright Server(浏览器爬虫)
playwright-server:
image: harbor.vocoor.com.cn/ci/curlawler-browser:1.0.0
ports:
- "9222:9222"
shm_size: '2gb'
security_opt:
- seccomp:unconfined
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9222/json/version"]
interval: 30s
timeout: 10s
retries: 3
volumes:
mysql_data:
redis_data:
rabbitmq_data:
minio_data:
es_data:
chroma_data: