-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdocker-compose.yaml
104 lines (97 loc) · 2.73 KB
/
docker-compose.yaml
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
services:
kavachat-api:
build:
context: ./api
dockerfile: Dockerfile
ports:
- '5555:5555'
environment:
KAVACHAT_API_LOG_LEVEL: debug
KAVACHAT_API_PORT: '5555'
KAVACHAT_API_HOST: '0.0.0.0'
KAVACHAT_API_BACKEND_0_NAME: 'OpenAI'
# Localstack
AWS_ENDPOINT_URL: http://localstack:4566
AWS_REGION: us-east-1
AWS_ACCESS_KEY_ID: test
AWS_SECRET_ACCESS_KEY: test
# File support
KAVACHAT_API_PUBLIC_URL: http://localhost:5555
KAVACHAT_API_S3_BUCKET: test-bucket
# Use path-style requests for localstack to avoid DNS issues
KAVACHAT_API_S3_PATH_STYLE_REQUESTS: true
# Pass through existing environment variables
KAVACHAT_API_BACKEND_0_BASE_URL: ${OPENAI_BASE_URL}
KAVACHAT_API_BACKEND_0_API_KEY: ${OPENAI_API_KEY}
KAVACHAT_API_BACKEND_0_ALLOWED_MODELS: 'gpt-4o,gpt-4o-mini,o3-mini,qwen2.5-vl-7b-instruct'
localstack:
image: localstack/localstack:4.1.1
ports:
- '4566:4566'
environment:
SERVICES: 's3'
volumes:
- ./aws:/etc/localstack/init/ready.d
awscollector:
container_name: awscollector
image: public.ecr.aws/aws-observability/aws-otel-collector:v0.41.2
ports:
- '4317:4317'
- '55681:55681'
- '8889:8888'
# healthcheck
- '13133:13133'
volumes:
- ./otel-collector-config.yaml:/etc/otel-collector-config.yaml
command: --config=/etc/otel-collector-config.yaml
# Local traces
jaeger:
image: jaegertracing/jaeger:2.3.0
ports:
- '16686:16686'
expose:
- '4317'
- '4318'
- '5778'
- '9411'
kavanode:
image: 'kava/kava:${KAVA_TAG:-v0.27.0-goleveldb}'
ports:
# open default kava rpc port
- '26657:26657'
# open rest port
- '1317:1317'
# open grpc port
- '9090:9090'
# open grpc-web port
- '9091:9091'
# open EVM JSON-RPC port
- '8545:8545'
# open Eth websocket port
- '8546:8546'
volumes:
- './tests/kvtool/full_configs/generated/kava/initstate/.kava:/root/.kava'
# start the blockchain, and set rpc to listen to connections from outside the container
command:
- 'sh'
- '-c'
- '/root/.kava/config/init-data-directory.sh && kava start --rpc.laddr=tcp://0.0.0.0:26657'
# kava image does not have healthcheck built in, so we add one here
healthcheck:
# Check if kava EVM JSON-RPC is up
test:
[
'CMD',
'curl',
'-f',
'-X',
'POST',
'-H',
'Content-Type: application/json',
'http://localhost:8545',
]
interval: 30s
timeout: 30s
start_period: 1m
start_interval: 5s
retries: 3