-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
96 lines (91 loc) · 2.29 KB
/
docker-compose.yml
File metadata and controls
96 lines (91 loc) · 2.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
services:
redis:
image: redis:7-alpine
container_name: zeno-redis
ports:
- '6379:6379'
volumes:
- redis_data:/data
healthcheck:
test: ['CMD', 'redis-cli', 'ping']
interval: 5s
timeout: 3s
retries: 3
networks:
- zeno-network
postgres:
image: ankane/pgvector:latest
container_name: zeno-postgres
ports:
- '5432:5432'
environment:
POSTGRES_USER: zeno_user
POSTGRES_PASSWORD: zeno_password
POSTGRES_DB: zeno
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U zeno_user -d zeno']
interval: 5s
timeout: 3s
retries: 3
command: ['postgres', '-c', 'shared_preload_libraries=vector']
networks:
- zeno-network
ollama:
image: ollama/ollama:latest
container_name: zeno-ollama
ports:
- '11434:11434'
volumes:
- ollama_data:/root/.ollama
healthcheck:
test: ['CMD', 'ollama', 'list']
interval: 30s
timeout: 10s
retries: 5
start_period: 40s
networks:
- zeno-network
app:
# Dockerfile 基础镜像使用 public.ecr.aws(绕过 docker.io 镜像加速 EOF)。
# 若仍失败:检查代理,或在 Docker Engine 中清空 registry-mirrors 后直连 Hub。
build:
context: .
dockerfile: Dockerfile.dev
container_name: zeno-app
ports:
- '3000:3000'
env_file:
- .env
environment:
- NODE_ENV=development
- REDIS_URL=redis://zeno-redis:6379
- DATABASE_URL=postgresql://zeno_user:zeno_password@zeno-postgres:5432/zeno
- OLLAMA_BASE_URL=http://zeno-ollama:11434
volumes:
- ./src:/app/src
- ./prisma:/app/prisma
# 与宿主依赖声明保持一致;否则仅重建镜像前改的 package.json 不会进入容器
- ./package.json:/app/package.json
- ./pnpm-lock.yaml:/app/pnpm-lock.yaml
command:
- sh
- -c
- HUSKY=0 pnpm install && pnpm start:dev
depends_on:
redis:
condition: service_healthy
postgres:
condition: service_healthy
ollama:
condition: service_started
networks:
- zeno-network
volumes:
redis_data:
postgres_data:
ollama_data:
networks:
zeno-network:
driver: bridge