Build a CRM with Sovrium
You want a self-hosted CRM — contacts, companies, and a deal pipeline — without wiring a database or a UI by hand.
Scaffold from the template
The fastest path is the ready-made crm template, which includes companies, contacts, deals with a pipeline, and pages:
sovrium init crm --template crm
cd crm
sovrium start app.yamlThe first argument is the directory to create; --template chooses what goes in it. Without --template, sovrium init crm scaffolds an empty app that merely happens to be named crm.
Or start minimal and grow
A CRM is just tables. This two-table starter is a complete, runnable config you can extend field by field:
export default {
name: 'crm',
version: '1.0.0',
tables: [
{
name: 'contacts',
fields: [
{ name: 'full_name', type: 'single-line-text', required: true },
{ name: 'email', type: 'email' },
{ name: 'company', type: 'single-line-text' },
],
},
{
name: 'deals',
fields: [
{ name: 'title', type: 'single-line-text', required: true },
{ name: 'stage', type: 'single-select', options: ['lead', 'qualified', 'won', 'lost'] },
{ name: 'notes', type: 'long-text' },
],
},
],
}Verify
http://localhost:3000/api/tables/contacts/records and /api/tables/deals/records are live and ready for data.
Next
- Start from a template — every
sovrium inittemplate. - Relational Fields — link deals to contacts and companies.
- Pages Overview — add a pipeline board and record views.
Last updated September 1, 2026
This documentation was written with AI, so errors or outdated content are possible. Sovrium is in beta. Contributions and corrections are welcome.