-
Notifications
You must be signed in to change notification settings - Fork 56
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
101 lines (88 loc) · 3.26 KB
/
docker-compose.yml
File metadata and controls
101 lines (88 loc) · 3.26 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
networks:
prometheus_network:
driver: bridge
services:
neo4j:
image: neo4j
container_name: prometheus_neo4j_container
networks:
- prometheus_network
environment:
- NEO4J_AUTH=neo4j/password
- NEO4J_PLUGINS=["apoc"]
- NEO4J_server_memory_heap_initial__size=6G
- NEO4J_server_memory_heap_max__size=12G
- NEO4J_dbms_memory_transaction_total_max=12G
- NEO4J_db_transaction_timeout=600s
volumes:
- ./data_neo4j:/var/lib/neo4j/data
healthcheck:
test: ["CMD", "cypher-shell", "-u", "neo4j", "-p", "password", "--non-interactive", "RETURN 1;"]
interval: 30s
timeout: 60s
retries: 3
postgres:
image: postgres:16
container_name: prometheus_postgres_container
networks:
- prometheus_network
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=password
- POSTGRES_DB=postgres
volumes:
- ./data_postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -d postgres -U postgres"]
interval: 30s
timeout: 60s
retries: 3
prometheus:
build: .
container_name: prometheus
networks:
- prometheus_network
ports:
- "9002:9002"
environment:
# Logging
- PROMETHEUS_LOGGING_LEVEL=${PROMETHEUS_LOGGING_LEVEL}
# General settings
- PROMETHEUS_ENVIRONMENT=${PROMETHEUS_ENVIRONMENT}
- PROMETHEUS_BACKEND_CORS_ORIGINS=${PROMETHEUS_BACKEND_CORS_ORIGINS}
- PROMETHEUS_ENABLE_AUTHENTICATION=${PROMETHEUS_ENABLE_AUTHENTICATION}
# Neo4j settings
- PROMETHEUS_NEO4J_URI=${PROMETHEUS_NEO4J_URI}
- PROMETHEUS_NEO4J_USERNAME=${PROMETHEUS_NEO4J_USERNAME}
- PROMETHEUS_NEO4J_PASSWORD=${PROMETHEUS_NEO4J_PASSWORD}
- PROMETHEUS_NEO4J_BATCH_SIZE=${PROMETHEUS_NEO4J_BATCH_SIZE}
# Knowledge Graph settings
- PROMETHEUS_KNOWLEDGE_GRAPH_MAX_AST_DEPTH=${PROMETHEUS_KNOWLEDGE_GRAPH_MAX_AST_DEPTH}
- PROMETHEUS_KNOWLEDGE_GRAPH_CHUNK_SIZE=${PROMETHEUS_KNOWLEDGE_GRAPH_CHUNK_SIZE}
- PROMETHEUS_KNOWLEDGE_GRAPH_CHUNK_OVERLAP=${PROMETHEUS_KNOWLEDGE_GRAPH_CHUNK_OVERLAP}
- PROMETHEUS_WORKING_DIRECTORY=${PROMETHEUS_WORKING_DIRECTORY}
# LLM model settings
- PROMETHEUS_ADVANCED_MODEL=${PROMETHEUS_ADVANCED_MODEL}
- PROMETHEUS_BASE_MODEL=${PROMETHEUS_BASE_MODEL}
# API keys for various LLM providers
- PROMETHEUS_ANTHROPIC_API_KEY=${PROMETHEUS_ANTHROPIC_API_KEY}
- PROMETHEUS_GEMINI_API_KEY=${PROMETHEUS_GEMINI_API_KEY}
- PROMETHEUS_OPENAI_FORMAT_API_KEY=${PROMETHEUS_OPENAI_FORMAT_API_KEY}
- PROMETHEUS_OPENAI_FORMAT_BASE_URL=${PROMETHEUS_OPENAI_FORMAT_BASE_URL}
# Model settings
- PROMETHEUS_ADVANCED_MODEL_TEMPERATURE=${PROMETHEUS_ADVANCED_MODEL_TEMPERATURE}
- PROMETHEUS_BASE_MODEL_TEMPERATURE=${PROMETHEUS_BASE_MODEL_TEMPERATURE}
# Tavily API key
- PROMETHEUS_TAVILY_API_KEY=${PROMETHEUS_TAVILY_API_KEY}
# Database settings
- PROMETHEUS_DATABASE_URL=${PROMETHEUS_DATABASE_URL}
# JWT settings
- PROMETHEUS_JWT_SECRET_KEY=${PROMETHEUS_JWT_SECRET_KEY}
volumes:
- .:/app
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
neo4j:
condition: service_healthy
postgres:
condition: service_healthy