Getting Started
Install SveltyCMS, run the self-healing Setup Wizard, and create your first collection β all in under 10 minutes.
On this page
Get up and running in minutes β whether youβre a Developer installing the system, an Administrator configuring permissions, or a Content Creator building your first site.
π‘ Default: SQLite (zero-config, in-process, sub-millisecond). No Docker, no external database needed. Upgrade to PostgreSQL/MongoDB/MariaDB when you need multi-instance scale.
π₯ Choose Your Path
- π οΈ Installation β For developers and DevOps
- π¨ First Steps β For administrators and content editors
- π Workflow Templates β Blog, e-commerce, multi-language
1. Installation (For Developers)
SveltyCMS features a Self-Healing Setup Wizard that automates database configuration and environment setup.
Quick Install
Option A: Scaffolding CLI (recommended)
npx create-sveltycms@latest my-cms
cd my-cms
bun run dev
Templates: website, blog, agency, saas, corporate, ecommerce Β· Databases: sqlite (default), postgresql, mariadb, mongodb
Option B: Clone from GitHub
git clone https://github.com/SveltyCMS/SveltyCMS.git
cd SveltyCMS
bun install
bun run dev
Navigate to http://localhost:5173. The system detects the absence of config/private.ts and launches the self-healing Setup Wizard.
| Step | What Happens |
|---|---|
| 1. Choose Database | SQLite (default, fastest for local dev), PostgreSQL, MariaDB, or MongoDB |
| 2. Test Connection | Auto-installs required drivers, validates connectivity |
| 3. Create Admin | Set master credentials with Argon2id password hashing |
| 4. Configure System | Site name, languages, media storage, optional Redis |
| 5. Email & Complete | Optionally configure SMTP (optional), review settings, complete setup. System transitions to READY with progressive warmup. |
The system seeds the database and transitions to READY β no manual config file editing.
π‘ After setup, all
/api/setupendpoints are permanently blocked (403) as a security measure.
2. First Steps (For Admins & Editors)
Access the CMS
Once setup completes, you will be automatically redirected to the CMS dashboard. If you need to log in again, navigate to http://localhost:5173/login and use your admin credentials.
Understanding the CMS Layout
The CMS is designed for clarity and speed.
βββββββββββββββββββββββββββββββββββββββββββββββ
β π SveltyCMS [Search] π€ Admin βΌ β
ββββββββββββ¬βββββββββββββββββββββββββββββββββββ€
β β β
β π Home β π Dashboard Overview β
β π Collections β
β π Media β β’ System Health β
β π₯ Users β β’ Recent Content β
β βοΈ Config β’ Online Users β
β β β’ Storage Usage β
β β β
ββββββββββββ΄βββββββββββββββββββββββββββββββββββ
First Tasks
- Configure Settings: Go to βοΈ Config to set your Site Name, Default Language, and Theme.
- View your homepage: With the default Website Starter preset, visit
http://localhost:5173/β guests see a published homepage designed with Svedit. - Design the frontpage: Edit Pages β Home in the form (free), or use Live Preview for inline Svedit editing (Editable Website plugin β 14-day trial, auto-enabled on Website Starter).
- Add more content: Create additional
pagesentries (about,contact, β¦) or add collections from templates (Blog, Agency, SaaS, Corporate, E-commerce).
3. Common Workflow Templates
Website Starter (recommended β SvelteKit + Svedit)
Website Starter is pre-selected in the Setup Wizard. After setup you get:
- In-repo SvelteKit public routes at
routes/(site) - A Pages collection with a published
homeentry (Svedit layout incontent) - Svedit inline block editing when Live Preview is enabled
- Live Preview bridge (trial included): Editable Website (β¬14.99 after trial) β iframe sync and inline Svedit editing; CMS form editing stays free
See the Site Starter guide. For Astro/Next.js/Vue, disable the site starter and consume the headless API instead.
Blog
- Create collections:
Posts,Categories,Tags - Link
PostsβCategories(multi-select) andUsers(author) - Use the
Statusfield for Draft β Published workflow - Enable comments or SEO metadata via widget options
E-Commerce Catalog
- Create collections:
Products(Price, SKU, Description),Inventory - Upload images to π Media Hub, link to entries
- Query via
/api/collections/productsfor your frontend - Add Stripe plugin for payment processing
Multi-Language
- Enable i18n: Go to βοΈ Config β Languages and add your target languages.
- Translate: Open any entry and use the language switcher to enter localized content. Paraglide JS handles the compile-time switching.
π‘οΈ User Roles & Permissions
Granular RBAC with field-level access control:
- Admin: Full access.
- Editor: Can manage all content and media.
- Contributor: Can create content but cannot publish without approval.
- Custom Roles: Create these in βοΈ Config β Roles & Permissions to define field-level access.
Next Steps
- Site Starter β Optional SvelteKit public frontend + live preview
- API Reference β REST, GraphQL, Local SDK
- Widget Development β Build custom field types
- Security Overview β 4-layer defense-in-depth
- Performance Benchmarks β 48 tests across 4 databases