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.
Production Build & Dual-Runtime Deployment
SveltyCMS supports dual runtime targets out of the box:
| Deployment Target | Build Command | Start Command | Best For | Architecture |
|---|---|---|---|---|
| Node.js (Recommended for Production) | bun run build:node (or bun run build) |
node index.cjs |
Maximum sustained throughput (4,000+ RPS), low tail latency, long-running servers | @sveltejs/adapter-node with V8 TurboFan deep JIT compilation and native connection pooling. |
| Bun 1.3 / 1.4 | bun run build:bun |
bun build/index.js |
Cold-start sensitive deployments, edge containers, and developer environments | Native svelte-adapter-bun targeting Bun.serve with sub-10ms startup and zero node:http bridge overhead. |
Performance Guidance:
- Production Dedicated Servers: Deploy on Node.js 24+ for highest sustained throughput across full-stack JavaScript middleware, sessions, and GraphQL execution.
- Edge / Serverless Containers: Deploy on Bun 1.4+ via
Bun.servefor rapid container provisioning and ultra-low cold start times.
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
Use the E-commerce Setup Wizard preset (products + variants, carts, orders, coupons, tax, shipping) rather than inventing collections. Full map: E-Commerce Overview.
- Select the ecommerce template (or add the ecommerce preset collections)
- Optional: import an existing catalog with Smart Importer β WooCommerce WXR/REST (
--format=woocommerce) or Shopify JSON/CSV (--format=shopify) intoproducts - Upload images in π Media Hub and link them on
products - Add the Commerce Orders and Commerce Inventory dashboard widgets (14-day trial) from the dashboard picker
- Query
/api/collections/productsfor the storefront (publication policy applies) - Enable the Commerce plugin (Extensions) and the Stripe plugin for card payments β amount is server
grandTotal. Map: E-Commerce Overview
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
- E-Commerce Overview β Opt-in store: plugins, widgets, gated API β core stays a CMS
- Smart Importer β WooCommerce / Shopify catalog import
- Dashboard widgets β Commerce Orders + Inventory (14-day trial)