docker-cavestartup-adapter
v1.0.0
Published
Start arbitrary services via docker-compose at Cave app startup (config-driven provisioning)
Readme
docker-cavestartup-adapter
Start arbitrary services via docker-compose at Cave app startup. Use for config-driven provisioning (e.g. continuum, DBs) without a dedicated adapter per service.
Usage
node-mod-editor wires this adapter when DOCKER_STARTUP_COMPOSE_PATH is set. No code change required; set env and optionally a toggle.
Env (Cave 2.x)
| Env | Description |
|-----|-------------|
| DOCKER_STARTUP_COMPOSE_PATH | Path to docker-compose file. When set, adapter runs docker compose up -d for the given services. |
| DOCKER_STARTUP_PROJECT | Compose project name (-p) |
| DOCKER_STARTUP_SERVICES | Comma-separated service names (default app) |
| DOCKER_STARTUP_READINESS_URL | Optional URL to poll until ready |
| DOCKER_STARTUP_READINESS_TIMEOUT_MS | Readiness timeout ms (default 90000) |
Optional Unleash toggle docker-startup-enabled: when using Unleash, the adapter only starts if this toggle is true (in addition to having DOCKER_STARTUP_COMPOSE_PATH set).
Programmatic
import { createDockerStartupAdapter } from 'docker-cavestartup-adapter';
const adapter = createDockerStartupAdapter({
enabled: true,
composePath: '/path/to/docker-compose.yml',
composeProject: 'my-stack',
services: ['continuum', 'db'],
readinessUrl: 'http://localhost:5050/health',
logger: { info: console.log, warn: console.warn, error: console.error },
});
await adapter.startUp();Related
- pythonapp-caveservice-adapter: register and run Python app shells from Cave.
- unleash-cavestartup-adapter, dotcms-startup-adapter, opentelemetry-cavestartup-adapter: service-specific startup adapters.
