sana-cms
v0.0.1
Published
Self-hosted CMS framework — scaffolds a Next.js project with blog, forms, and docs modules wired to a single REST API.
Maintainers
Readme
sana-cms
Self-hosted CMS framework — scaffolds a Next.js project with blog, forms, and docs modules wired to a single REST API.
Quick start
# Interactive scaffolding (recommended)
npx sana-cms@latest create my-cms
# Or globally
npm install -g sana-cms
sana-cms create my-cmsThe interactive flow asks for: project name, template (standalone studio vs embed), modules, database (SQLite local / Postgres), admin credentials, and whether to install + bootstrap immediately.
Non-interactive
npx sana-cms create my-cms \
--no-interactive \
--modules blog,forms \
--db sqlite \
--email [email protected] \
--password 'pass1234' \
--installOther commands
sana-cms migrate # idempotent schema bootstrap
sana-cms seed --email [email protected] --password ... # admin + demo project + API key
sana-cms keys --project <id> --scopes blog:* # issue additional API keysAll runtime commands assume a sana.config.json in the current directory and respect the standard SANA_* env vars (see .env.example after scaffolding).
Deploy
The generated next.config.ts already pins serverExternalPackages: ["better-sqlite3"] so vercel build works. For production, switch the database to Postgres in sana.config.json and set SANA_DB_URL / DATABASE_URL in your hosting provider.
Links
- Source: https://github.com/pacifio/sana
- Issues: https://github.com/pacifio/sana/issues
- Author: Adib Mohsin
License
MIT
