@docmd/deployer
v0.8.4
Published
Deployment configuration generator for docmd — Docker, Nginx, Caddy, GitHub Pages, Vercel, and Netlify.
Maintainers
Readme
@docmd/deployer
Deployment configuration generator for docmd — the zero-config documentation engine.
Generates production-ready deployment files from your docmd.config.json. All outputs are personalised to your project; no generic copy-paste templates.
Supported Targets
Self-hosted
| Flag | Output |
|------|--------|
| --docker | Dockerfile + .dockerignore |
| --nginx | Production-hardened nginx.conf |
| --caddy | HTTPS-ready Caddyfile |
Cloud & CI
| Flag | Output |
|------|--------|
| --github-pages | .github/workflows/deploy.yml (GitHub Actions) |
| --vercel | vercel.json |
| --netlify | netlify.toml |
Usage
This package is invoked via the docmd CLI. You do not need to import it directly.
# Self-hosted
docmd deploy --docker
docmd deploy --nginx
docmd deploy --caddy
# Cloud / CI
docmd deploy --github-pages
docmd deploy --vercel
docmd deploy --netlify
# Combine targets
docmd deploy --docker --nginxEvery run reads your docmd.config.json and regenerates the files to match. Zero-config projects use the same defaults as docmd build.
Architecture
@docmd/deployer
src/
context.ts Shared DeployContext type
index.ts Orchestrator — resolves options, writes files
providers/
docker.ts Dockerfile + .dockerignore
nginx.ts nginx.conf
caddy.ts Caddyfile
github-pages.ts GitHub Actions deploy workflow
vercel.ts vercel.json
netlify.ts netlify.tomlEach provider is a pure function (ctx: DeployContext) => string — no side effects, no I/O. File writing is handled by the orchestrator. Adding a new provider is a single file with no changes to other providers.
Dependency graph (no cycles):
@docmd/core → @docmd/deployer → @docmd/apiConfig resolution (loadConfig, normalizeConfig) stays in @docmd/core to keep @docmd/deployer free of any dependency on its parent package.
Documentation
See docmd.io/deployment for detailed, service-specific guides.
License
MIT — Copyright (c) 2025-present docmd.io
