Repository navigation
Expand file tree
/
Copy pathdocker-compose.infra.yml
More file actions
95 lines (87 loc) · 2.68 KB
/
Copy pathdocker-compose.infra.yml
File metadata and controls
95 lines (87 loc) · 2.68 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
# Nasiko Platform — Infrastructure
#
# Start: just infra (or: docker compose up -d)
# Stop: just infra-down (or: docker compose down)
# Logs: just logs -f
#
# Not managed here: `nasiko-mcp-servers-net`, the isolated Docker network
# uploaded MCP server containers deploy onto (docs/MCP_UPLOAD_PLAN_OSS.md
# §4.3). It has no service to attach to in this file — the control-plane
# server always runs natively (`cargo run`, not `docker compose up server`)
# in every setup this repo supports today, so there is no "server" service to
# join it to. The server creates the network itself, idempotently, at
# startup (`DockerRuntime::ensure_network`, oss/server/src/runtime.rs) using
# the Docker API directly. A dead top-level `networks:` entry here (unattached
# to any service) would be silently dropped by `docker compose config` and
# give no real visibility, so it's intentionally not declared in this file.
services:
postgres:
image: docker.io/pgvector/pgvector:pg16
environment:
POSTGRES_USER: nasiko
POSTGRES_PASSWORD: nasiko
POSTGRES_DB: nasiko_dev
ports:
- "5432:5432"
volumes:
- postgres-data:/var/lib/postgresql/data
- ./init-databases.sql:/docker-entrypoint-initdb.d/create-extra-dbs.sql:ro
healthcheck:
test: ["CMD-SHELL", "pg_isready -U nasiko -d nasiko_dev"]
interval: 5s
timeout: 5s
retries: 10
redis:
image: docker.io/library/redis:7-alpine
ports:
- "6379:6379"
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 3s
retries: 10
rustfs:
image: docker.io/rustfs/rustfs:latest
command: server /data --address :9000
environment:
RUSTFS_ROOT_USER: nasiko
RUSTFS_ROOT_PASSWORD: nasiko123
ports:
- "9000:9000"
volumes:
- rustfs-data:/data
otel-collector:
image: otel/opentelemetry-collector-contrib:0.119.0
command: ["--config=/etc/otel-collector-config.yaml"]
volumes:
- ./observability/config/otel-collector.yaml:/etc/otel-collector-config.yaml
ports:
- "4317:4317" # OTLP gRPC
- "4318:4318" # OTLP HTTP
depends_on:
- tempo
- loki
networks:
- nasiko
tempo:
image: grafana/tempo:2.6.1
command: ["-config.file=/etc/tempo.yaml"]
volumes:
- ./observability/config/tempo.yaml:/etc/tempo.yaml
ports:
- "3200:3200" # Tempo HTTP query API
networks:
- nasiko
loki:
image: grafana/loki:3.3.2
command: ["-config.file=/etc/loki/local-config.yaml"]
ports:
- "3100:3100" # Loki HTTP API
networks:
- nasiko
networks:
nasiko:
name: nasiko
volumes:
postgres-data:
rustfs-data: