-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompose.yaml
More file actions
110 lines (104 loc) · 3.06 KB
/
Copy pathcompose.yaml
File metadata and controls
110 lines (104 loc) · 3.06 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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# DANEEL Local Development Stack
#
# Builds daneel and daneel-web from source, runs all dependencies.
# Adapted from ~/src/swarm/stacks/daneel/compose.yaml (production).
#
# Usage:
# docker compose up --build # build and run everything
# docker compose up -d # detached (after first build)
# docker compose down # stop
# docker compose down -v # stop and wipe volumes
#
# Observatory: http://localhost:3000
# Core API: http://localhost:3030
services:
# ===========================================================================
# REDIS - Streams + Working Memory
# ===========================================================================
redis:
image: redis:7
container_name: daneel-redis
command: >
redis-server
--appendonly yes
--appendfsync everysec
--maxmemory 1gb
--maxmemory-policy noeviction
--protected-mode no
volumes:
- daneel-redis-data:/data
networks:
- daneel-net
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 3
# ===========================================================================
# QDRANT - Vector Memory (Conscious, Unconscious, Identity)
# ===========================================================================
qdrant:
image: qdrant/qdrant:latest
container_name: daneel-qdrant
volumes:
- daneel-qdrant-data:/qdrant/storage
networks:
- daneel-net
healthcheck:
test: ["CMD-SHELL", "bash -c 'echo > /dev/tcp/localhost/6333'"]
interval: 10s
timeout: 5s
retries: 3
# ===========================================================================
# DANEEL - Core Cognitive Loop (built from source)
# ===========================================================================
daneel:
build:
context: .
dockerfile: Dockerfile
container_name: daneel-core
environment:
RUST_LOG: info
REDIS_URL: redis://redis:6379
QDRANT_URL: http://qdrant:6334
ports:
- "3030:3030"
volumes:
- daneel-fastembed-cache:/root/.cache/fastembed
networks:
- daneel-net
depends_on:
redis:
condition: service_healthy
qdrant:
condition: service_healthy
# ===========================================================================
# DANEEL-WEB - Observation Dashboard (built from source)
# ===========================================================================
daneel-web:
build:
context: ../daneel-web
dockerfile: Dockerfile
container_name: daneel-web
environment:
RUST_LOG: info
REDIS_URL: redis://redis:6379
QDRANT_URL: http://qdrant:6334
DANEEL_CORE_URL: http://daneel:3030
HOST: "0.0.0.0"
PORT: "3000"
ports:
- "3000:3000"
volumes:
- daneel-fastembed-cache:/root/.cache/fastembed
networks:
- daneel-net
depends_on:
- daneel
networks:
daneel-net:
driver: bridge
volumes:
daneel-redis-data:
daneel-qdrant-data:
daneel-fastembed-cache: