-
Notifications
You must be signed in to change notification settings - Fork 1
/
docker-compose.yaml
141 lines (130 loc) · 3.32 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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
version: '3'
services:
n8n:
# image: docker.n8n.io/n8nio/n8n
# use local image
build: .
ports:
- 5678:5678
restart: always
env_file:
- .env-n8n
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_HOST=pg-n8n
- DB_POSTGRESDB_PORT=5432
- N8N_LOG_LEVEL=debug
- N8N_METRICS=true
# .env stuff
# - DB_POSTGRESDB_USER=<POSTGRES_USER>
# - DB_POSTGRESDB_PASSWORD=<POSTGRES_PASSWORD>
# teaser ;)
# - N8N_CUSTOM_EXTENSIONS=/home/node/.n8n/custom_nodes
volumes:
- .:/home/node
# teaser ;)
# - ./custom_nodes:/home/node/.n8n/custom
# stuff you want accessable from the host
- ./mount_files:/mount_files
# start with custom script (also part of the teaser ;) )
# entrypoint: ["/bin/sh", "-c", "/home/node/scripts/n8n-startup.sh"]
# run as user node
# user: node
pg-n8n:
image: postgres:12
restart: always
env_file:
- .env-pg-n8n
environment:
POSTGRES_DB: n8n
# .env stuff
# POSTGRES_USER: <POSTGRES_USER>
# POSTGRES_PASSWORD: <POSTGRES_PASSWORD>
volumes:
- pg_n8n_data:/var/lib/postgresql/data
langfuse:
image: langfuse/langfuse:2
depends_on:
pg-langfuse:
condition: service_healthy
ports:
- "3001:3000"
env_file:
- .env-langfuse
environment:
- DATABASE_URL=postgresql://langfuse:password@pg-langfuse:5433/langfuse
# - NEXTAUTH_SECRET=mysecret
# - SALT=mysalt
# - ENCRYPTION_KEY=0000000000000000000000000000000000000000000000000000000000000000 # generate via `openssl rand -hex 32`
- NEXTAUTH_URL=http://localhost:3001
- TELEMETRY_ENABLED=${TELEMETRY_ENABLED:-true}
- LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES=${LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES:-true}
pg-langfuse:
image: postgres
restart: always
command: postgres -p 5433
healthcheck:
test: ["CMD-SHELL", "pg_isready -U langfuse -p 5433"]
interval: 3s
timeout: 3s
retries: 10
env_file:
- .env-pg-langfuse
environment:
# .env stuff
# - POSTGRES_USER=langfuse
# - POSTGRES_PASSWORD=password
- POSTGRES_DB=langfuse
ports:
- 5433:5433
volumes:
- pg_langfuse_data:/var/lib/postgresql/data
prometheus:
image: prom/prometheus
container_name: prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
ports:
- 9090:9090
restart: unless-stopped
volumes:
- ./prometheus:/etc/prometheus
- prom_data:/prometheus
grafana:
image: grafana/grafana
container_name: grafana
ports:
- 3002:3000
restart: unless-stopped
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=grafana
volumes:
- ./grafana:/etc/grafana/provisioning/datasources
qdrant:
image: qdrant/qdrant:latest
restart: always
container_name: qdrant
ports:
- 6333:6333
- 6334:6334
expose:
- 6333
- 6334
- 6335
configs:
- source: qdrant_config
target: /qdrant/config/production.yaml
volumes:
- qdrant_data:/qdrant/storage
configs:
qdrant_config:
content: |
log_level: INFO
volumes:
pg_n8n_data:
prom_data:
n8n_data:
pg_langfuse_data:
qdrant_data: