docs(devops): update all documentation for DockerSpec compliance
- Replace all docker-compose.yml/docker-compose.monitoring.yml references with compose.yaml/compose.monitoring.yaml (modern Compose Spec naming) - Replace all `docker-compose` CLI commands with `docker compose` (plugin syntax) - Update Dockerfile stage descriptions: node:18-alpine → node:20.11-bookworm-slim, built-in node user → explicit nodeapp:1001 non-root user - Update image version references: postgres:14-alpine → postgres:14.12-alpine3.19, redis:7-alpine → redis:7.2-alpine3.19 - Externalize postgres credentials: hardcoded values → POSTGRES_USER/PASSWORD/DB env vars - Externalize Grafana admin password: hardcoded 'agentidp' → GF_ADMIN_PASSWORD env var - Add Docker Compose Variables section to environment-variables.md (POSTGRES_*, GF_ADMIN_PASSWORD) - Update local-development.md Step 3: cp .env.example .env, document POSTGRES_* purpose - Update quick-start.md: cp .env.example .env, use awk/sed for JWT key injection - Update 07-dev-setup.md: remove 'no .env.example' claim, reference cp .env.example - Update docker-compose.yml key file description in 04-codebase-structure.md - Update monitoring overlay launch commands across all docs (compose.yaml + compose.monitoring.yaml) - Update volume names to kebab-case: postgres_data → postgres-data, redis_data → redis-data - Fix compliance encryption-runbook: docker-compose restart agentidp → docker compose restart app All docs now consistent with compose.yaml in repo root. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,62 @@ Variables are loaded from a `.env` file at startup via `dotenv`. In production,
|
||||
|
||||
---
|
||||
|
||||
## Docker Compose Variables
|
||||
|
||||
These variables are read by `compose.yaml` — not by the application itself. They are required when running the stack via `docker compose up`.
|
||||
|
||||
### `POSTGRES_USER`
|
||||
|
||||
PostgreSQL superuser name — used to configure the `postgres` container and construct `DATABASE_URL`.
|
||||
|
||||
| | |
|
||||
|-|-|
|
||||
| **Required for Compose** | Yes |
|
||||
| **Default in `.env.example`** | `sentryagent` |
|
||||
| **Example** | `POSTGRES_USER=sentryagent` |
|
||||
|
||||
---
|
||||
|
||||
### `POSTGRES_PASSWORD`
|
||||
|
||||
PostgreSQL superuser password.
|
||||
|
||||
| | |
|
||||
|-|-|
|
||||
| **Required for Compose** | Yes |
|
||||
| **Default in `.env.example`** | `change-me-in-production` |
|
||||
| **Example** | `POSTGRES_PASSWORD=strongpassword` |
|
||||
|
||||
> Never use the default value in production. Generate a strong random password.
|
||||
|
||||
---
|
||||
|
||||
### `POSTGRES_DB`
|
||||
|
||||
PostgreSQL database name to create on first startup.
|
||||
|
||||
| | |
|
||||
|-|-|
|
||||
| **Required for Compose** | Yes |
|
||||
| **Default in `.env.example`** | `sentryagent_idp` |
|
||||
| **Example** | `POSTGRES_DB=sentryagent_idp` |
|
||||
|
||||
---
|
||||
|
||||
### `GF_ADMIN_PASSWORD`
|
||||
|
||||
Grafana admin panel password — used by `compose.monitoring.yaml`.
|
||||
|
||||
| | |
|
||||
|-|-|
|
||||
| **Required for monitoring stack** | Yes |
|
||||
| **Default in `.env.example`** | `change-me-in-production` |
|
||||
| **Example** | `GF_ADMIN_PASSWORD=strongpassword` |
|
||||
|
||||
> Never use the default value in production.
|
||||
|
||||
---
|
||||
|
||||
## Required Variables
|
||||
|
||||
These variables must be set. The server will throw and exit immediately if any are missing.
|
||||
@@ -438,6 +494,12 @@ NODE_ENV=development
|
||||
PORT=3000
|
||||
CORS_ORIGIN=http://localhost:3001
|
||||
|
||||
# ── Docker Compose (postgres container + monitoring) ─────────────────────────
|
||||
POSTGRES_USER=sentryagent
|
||||
POSTGRES_PASSWORD=change-me-in-production
|
||||
POSTGRES_DB=sentryagent_idp
|
||||
GF_ADMIN_PASSWORD=change-me-in-production
|
||||
|
||||
# ── Database ─────────────────────────────────────────────────────────────────
|
||||
DATABASE_URL=postgresql://sentryagent:sentryagent@localhost:5432/sentryagent_idp
|
||||
DB_POOL_MAX=20
|
||||
|
||||
Reference in New Issue
Block a user