# FR24 ingest compose skeleton

## Goals
- PostgreSQL + PostGIS as the single database
- separate ingest placeholder service
- healthcheck/status scaffolding
- predictable volume layout
- environment-driven configuration

## Proposed runtime layout
- `compose/` — Docker Compose manifests and env examples
- `db/postgres/` — persistent PostgreSQL data
- `db/init/` — bootstrap SQL for extensions and initial schema
- `ingest/` — capture/preprocess implementation lives here later
- `logs/ingest/` — service logs
- `logs/status/` — heartbeat/status artifacts
- `backup/` — pg_dump and restore artifacts

## Environment variables
- `POSTGRES_DB`
- `POSTGRES_USER`
- `POSTGRES_PASSWORD`
- `POSTGRES_PUBLISHED_PORT`
- `RAW_RETENTION_DAYS`
- `OVERLAP_MINUTES`
- `CAPTURE_SOURCE`
- `TZ`
- `APP_ENV`

## Status scaffolding
The current skeleton includes a minimal `status` container that writes a heartbeat file. This is only a placeholder and should be replaced or extended by a real monitoring endpoint later.

## Open questions
- whether capture and preprocess should become separate services immediately
- whether API/viewer belongs in the first compose cut or later
- whether a dedicated monitoring container is needed before hardware verification
