Repository navigation
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
53 lines (51 loc) · 2.21 KB
/
Copy pathdocker-compose.yml
File metadata and controls
53 lines (51 loc) · 2.21 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
services:
db:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_DB: loopgrid
POSTGRES_USER: loopgrid
POSTGRES_PASSWORD: ${LOOPGRID_POSTGRES_PASSWORD:?Run python scripts/generate_pilot_env.py first}
volumes:
- loopgrid_pg:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U loopgrid -d loopgrid"]
interval: 5s
timeout: 5s
retries: 12
loopgrid:
build: .
restart: unless-stopped
depends_on:
db:
condition: service_healthy
ports:
- "8000:8000"
environment:
LOOPGRID_DATABASE_URL: postgresql+psycopg://loopgrid:${LOOPGRID_POSTGRES_PASSWORD}@db:5432/loopgrid
LOOPGRID_PLATFORM_ADMIN_KEY: ${LOOPGRID_PLATFORM_ADMIN_KEY:?Run python scripts/generate_pilot_env.py first}
LOOPGRID_ENV: production
LOOPGRID_PUBLIC_BASE_URL: ${LOOPGRID_PUBLIC_BASE_URL:-http://localhost:8000}
LOOPGRID_REQUIRE_USER_AUTH: "true"
LOOPGRID_STRICT_PRODUCTION_SAFETY: "true"
LOOPGRID_BOOTSTRAP_TOKEN: ${LOOPGRID_BOOTSTRAP_TOKEN:?Run python scripts/generate_pilot_env.py first}
LOOPGRID_CORS_ORIGINS: ${LOOPGRID_CORS_ORIGINS:-}
LOOPGRID_SIGNER_PROVIDER: ${LOOPGRID_SIGNER_PROVIDER:-local_ed25519}
LOOPGRID_SIGNING_KEY_PATH: /app/data/signing-key.pem
LOOPGRID_PUBLIC_KEY_PATH: /app/data/signing-public.pem
LOOPGRID_PAYLOAD_KEY_PATH: /app/data/payload-key.bin
LOOPGRID_PAYLOAD_MASTER_KEY_B64: ${LOOPGRID_PAYLOAD_MASTER_KEY_B64:?Run python scripts/generate_pilot_env.py first}
LOOPGRID_TSA_URL: ${LOOPGRID_TSA_URL:-}
LOOPGRID_TSA_CA_FILE: ${LOOPGRID_TSA_CA_FILE:-}
LOOPGRID_ENFORCE_LIFECYCLE: "true"
LOOPGRID_DB_POOL_SIZE: ${LOOPGRID_DB_POOL_SIZE:-10}
LOOPGRID_DB_MAX_OVERFLOW: ${LOOPGRID_DB_MAX_OVERFLOW:-20}
LOOPGRID_DB_POOL_RECYCLE_SECONDS: ${LOOPGRID_DB_POOL_RECYCLE_SECONDS:-1800}
LOOPGRID_MAX_REQUEST_BODY_BYTES: ${LOOPGRID_MAX_REQUEST_BODY_BYTES:-2000000}
LOOPGRID_INGEST_RATE_LIMIT_PER_MINUTE: ${LOOPGRID_INGEST_RATE_LIMIT_PER_MINUTE:-600}
LOOPGRID_ADMIN_RATE_LIMIT_PER_MINUTE: ${LOOPGRID_ADMIN_RATE_LIMIT_PER_MINUTE:-120}
volumes:
- loopgrid_keys:/app/data
volumes:
loopgrid_pg:
loopgrid_keys: