-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
74 lines (70 loc) · 2.34 KB
/
docker-compose.yml
File metadata and controls
74 lines (70 loc) · 2.34 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
# Local-dev stack for Loom.
#
# docker compose up -d # MSSQL Express + Elasticsearch
# docker compose --profile tools up -d # the above plus Kibana on :5601
#
# Both services persist data in named volumes so a `compose down` keeps
# state; `compose down -v` wipes it. The Loom.Web dev config
# (appsettings.Development.json) and the seed tool default both target
# this compose stack.
services:
mssql:
image: mcr.microsoft.com/mssql/server:2022-latest
container_name: loom-mssql
environment:
ACCEPT_EULA: "Y"
# Express edition: free, 1 CPU / 1 GB RAM / 10 GB DB cap. Bump to
# Developer (also free, dev/test only) if you hit the cap.
MSSQL_PID: Express
MSSQL_SA_PASSWORD: "Loom_dev_pwd_1!"
ports:
- "1433:1433"
volumes:
- loom-mssql-data:/var/opt/mssql
healthcheck:
test:
- CMD-SHELL
- /opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P "$$MSSQL_SA_PASSWORD" -C -Q "SELECT 1" || exit 1
interval: 10s
timeout: 5s
retries: 10
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.15.3
container_name: loom-elasticsearch
environment:
discovery.type: single-node
# Security off for dev — Loom's IMemorySearch will use plain HTTP.
# Re-enable + add credentials when standing up a shared/staging
# ES cluster (Phase 6b deployment).
xpack.security.enabled: "false"
# 512 MB heap is enough for the Phase-6 index sizes Loom expects;
# bump to 1g if you index a large historical corpus.
ES_JAVA_OPTS: "-Xms512m -Xmx512m"
ports:
- "9200:9200"
volumes:
- loom-es-data:/usr/share/elasticsearch/data
healthcheck:
test:
- CMD-SHELL
- curl -fsSL http://localhost:9200/_cluster/health || exit 1
interval: 10s
timeout: 5s
retries: 20
# Optional: index browser for poking at what the indexer wrote.
# Run only when needed: `docker compose --profile tools up -d kibana`
kibana:
image: docker.elastic.co/kibana/kibana:8.15.3
container_name: loom-kibana
profiles: [tools]
environment:
ELASTICSEARCH_HOSTS: http://elasticsearch:9200
XPACK_SECURITY_ENABLED: "false"
ports:
- "5601:5601"
depends_on:
elasticsearch:
condition: service_healthy
volumes:
loom-mssql-data:
loom-es-data: