-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.dev.yml
More file actions
90 lines (85 loc) · 2.61 KB
/
docker-compose.dev.yml
File metadata and controls
90 lines (85 loc) · 2.61 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
# Docker Compose with Pre-Built Binaries
#
# This approach builds the backend/frontend LOCALLY, then runs them in Docker.
# Avoids ARM/x86 protoc issues while still containerizing everything.
#
# Usage:
# 1. Build locally first:
# cd WebApi && dotnet publish -c Release -o bin/publish
# cd WebApp && npm run build
#
# 2. Start all services:
# docker compose -f docker-compose.dev.yml up
services:
weaviate:
image: cr.weaviate.io/semitechnologies/weaviate:1.34.0
# No ports exposed - backend reaches Weaviate via internal service name
environment:
QUERY_DEFAULTS_LIMIT: 25
AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true'
PERSISTENCE_DATA_PATH: '/var/lib/weaviate'
DEFAULT_VECTORIZER_MODULE: 'text2vec-transformers'
ENABLE_MODULES: 'text2vec-transformers'
TRANSFORMERS_INFERENCE_API: 'http://t2v-transformers:8080'
CLUSTER_HOSTNAME: 'node1'
volumes:
- weaviate_data:/var/lib/weaviate
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/v1/.well-known/ready"]
interval: 5s
timeout: 3s
retries: 20
start_period: 30s
t2v-transformers:
image: cr.weaviate.io/semitechnologies/transformers-inference:sentence-transformers-all-MiniLM-L6-v2
environment:
ENABLE_CUDA: '0'
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/.well-known/ready"]
interval: 5s
timeout: 3s
retries: 30
start_period: 60s
backend:
image: mcr.microsoft.com/dotnet/aspnet:9.0
ports:
- "5001:5001"
volumes:
- ./WebApi/bin/publish:/app:ro
working_dir: /app
command: ["dotnet", "WebApi.dll"]
environment:
ASPNETCORE_URLS: "http://+:5001"
Weaviate__Hostname: "weaviate"
Weaviate__RestPort: "8080"
Weaviate__GrpcPort: "50051"
depends_on:
weaviate:
condition: service_healthy
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:5001/health"]
interval: 10s
timeout: 5s
retries: 10
start_period: 30s
frontend:
image: node:18-alpine
ports:
- "5174:5174"
volumes:
- ./WebApp:/app:ro
- /app/node_modules
working_dir: /app
command: ["node", "build/index.js"]
environment:
NODE_ENV: production
PORT: 5174
HOST: 0.0.0.0
ORIGIN: "http://localhost:5174"
PROTOCOL_HEADER: "x-forwarded-proto"
HOST_HEADER: "x-forwarded-host"
BACKEND_URL: "http://backend:5001"
depends_on:
- backend
volumes:
weaviate_data: