-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.perf.yaml
More file actions
59 lines (58 loc) · 1.59 KB
/
Copy pathdocker-compose.perf.yaml
File metadata and controls
59 lines (58 loc) · 1.59 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
services:
postgres-perf:
image: postgres:18-alpine
container_name: ninerlog-perf-db
environment:
POSTGRES_USER: perfuser
POSTGRES_PASSWORD: perfpass
POSTGRES_DB: ninerlog_perf
ports:
- "5435:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U perfuser -d ninerlog_perf"]
interval: 2s
timeout: 5s
retries: 10
tmpfs:
- /var/lib/postgresql
command:
- "postgres"
- "-c"
- "shared_buffers=256MB"
- "-c"
- "max_connections=200"
- "-c"
- "work_mem=16MB"
api:
build:
context: .
dockerfile: Dockerfile
container_name: ninerlog-perf-api
depends_on:
postgres-perf:
condition: service_healthy
environment:
DATABASE_URL: "postgresql://perfuser:perfpass@postgres-perf:5432/ninerlog_perf?sslmode=disable"
PORT: "3000"
JWT_SECRET: "perf-test-jwt-secret-key-minimum-32-chars"
REFRESH_SECRET: "perf-test-refresh-secret-key-minimum-32"
CORS_ORIGIN: "*"
ADMIN_EMAIL: "admin@ninerlog-perf.com"
DISABLE_RATE_LIMIT: "true"
MIGRATIONS_PATH: "db/migrations"
METRICS_ENABLED: "true"
PPROF_ENABLED: "true"
PPROF_PORT: "6060"
APP_VERSION: "perf-test"
NOTIFICATION_CHECK_INTERVAL: "24h"
# No periodic airport refetch in test containers
AIRPORT_REFRESH_INTERVAL: "off"
ports:
- "3334:3000"
- "6060:6060"
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://localhost:3000/health || exit 1"]
interval: 3s
timeout: 5s
retries: 30
start_period: 15s