-
-
Notifications
You must be signed in to change notification settings - Fork 138
Expand file tree
/
Copy pathcompose.yaml
More file actions
146 lines (135 loc) · 4.11 KB
/
Copy pathcompose.yaml
File metadata and controls
146 lines (135 loc) · 4.11 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
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
142
143
144
145
name: reconmap
volumes:
redis_data:
postgres_varlib:
dataprotection-keys:
rustfs_data:
rustfs_logs:
services:
redis:
image: redis:8.8-alpine
command: redis-server --requirepass ${REDIS_PASSWORD} --save 20 1 --loglevel warning
restart: unless-stopped
ports:
- "6379:6379"
volumes:
- redis_data:/data
rabbitmq:
image: rabbitmq:4.3-alpine
restart: unless-stopped
ports:
- "5672:5672"
environment:
RABBITMQ_DEFAULT_USER: ${RABBITMQ_DEFAULT_USER}
RABBITMQ_DEFAULT_PASS: ${RABBITMQ_DEFAULT_PASS}
postgres:
image: postgres:17-alpine
restart: unless-stopped
volumes:
- postgres_varlib:/var/lib/postgresql/data
- ./infra/docker/postgres/initdb:/docker-entrypoint-initdb.d:ro
ports:
- "5432:5432"
environment:
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_USER: postgres
POSTGRES_DB: postgres
POSTGRES_RECONMAP_USER: ${POSTGRES_RECONMAP_USER}
POSTGRES_RECONMAP_PASSWORD: ${POSTGRES_RECONMAP_PASSWORD}
POSTGRES_KEYCLOAK_USER: ${POSTGRES_KEYCLOAK_USER}
POSTGRES_KEYCLOAK_PASSWORD: ${POSTGRES_KEYCLOAK_PASSWORD}
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
timeout: 10s
retries: 5
keycloak:
image: ghcr.io/reconmap/keycloak-custom:latest
command: "start --import-realm"
# See https://www.keycloak.org/server/all-config
environment:
KC_HOSTNAME_STRICT: false
KC_HTTP_ENABLED: true
KC_HTTP_PORT: 8080
KC_BOOTSTRAP_ADMIN_USERNAME: ${KEYCLOAK_BOOTSTRAP_ADMIN_USERNAME}
KC_BOOTSTRAP_ADMIN_PASSWORD: ${KEYCLOAK_BOOTSTRAP_ADMIN_PASSWORD}
KC_DB: postgres
KC_DB_URL_HOST: postgres
KC_DB_DATABASE: keycloak
KC_DB_USERNAME: ${POSTGRES_KEYCLOAK_USER}
KC_DB_PASSWORD: ${POSTGRES_KEYCLOAK_PASSWORD}
VAR_DASHBOARD_URL: "http://localhost:5500"
VAR_ADMIN_CLIENT_SECRET: "${KEYCLOAK_ADMIN_CLIENT_SECRET}"
VAR_API_CLIENT_SECRET: "${KEYCLOAK_API_CLIENT_SECRET}"
restart: unless-stopped
ports:
- "8080:8080"
depends_on:
postgres:
condition: service_healthy
dashboard:
profiles: ["app"]
container_name: rmap-dashboard
image: ghcr.io/reconmap/dashboard:latest
restart: unless-stopped
volumes:
- ./config-ui.json:/usr/share/nginx/html/config.json:ro
ports:
- "5500:5500"
depends_on:
keycloak:
condition: service_healthy
ngapi:
profiles: ["app"]
image: ghcr.io/reconmap/ng-api:latest
build:
context: ./apps/api/src
dockerfile: docker/Dockerfile
volumes:
- "./config-ngapi.json:/app/appsettings.json"
- dataprotection-keys:/root/.aspnet/DataProtection-Keys
ports:
- "5510:5510"
environment:
- ASPNETCORE_ENVIRONMENT=Production
- ASPNETCORE_URLS=http://0.0.0.0:5510
- ConnectionStrings__PostgreSqlConnection=Host=postgres;Port=5432;Database=reconmap;Username=${POSTGRES_RECONMAP_USER};Password=${POSTGRES_RECONMAP_PASSWORD}
- Redis__Password=${REDIS_PASSWORD}
- Keycloak__ClientSecret=${KEYCLOAK_API_CLIENT_SECRET}
- Storage__S3__SecretKey=${RUSTFS_SECRET_KEY}
- Opa__ServerUrl=${OPA_SERVER_URL}
depends_on:
postgres:
condition: service_healthy
rustfs:
condition: service_started
agent:
profiles: [ 'agent' ]
image: ghcr.io/reconmap/agent:latest
restart: unless-stopped
ports:
- "5520:5520"
volumes:
- "./config-agent.json:/root/.config/reconmap/config-reconmapd.json"
command: /app/reconmapd run
environment:
RMAP_KEYCLOAK_DEBUG: "false"
RMAP_KEYCLOAK_SKIP_TLS_VERIFY: "true"
RMAP_REDIS_PASSWORD: "${REDIS_PASSWORD}"
rustfs:
image: rustfs/rustfs:1.0.0-beta.8
restart: unless-stopped
ports:
- "9000:9000"
- "9001:9001"
volumes:
- rustfs_data:/data
- rustfs_logs:/logs
opa:
image: openpolicyagent/opa:1.18.1-istio
restart: unless-stopped
ports:
- "8181:8181"
volumes:
- ./policy:/policy
command: ["run", "--server", "--addr", ":8181", "--log-format=json", "/policy"]