tallyst / cms
Lean, self-hosted Symfony CMS with a built-in payment-enabled form and e-commerce layer for solo developers.
Requires
- php: >=8.5
- ext-ctype: *
- ext-iconv: *
- doctrine/doctrine-bundle: ^3.2
- doctrine/doctrine-migrations-bundle: ^4.0
- doctrine/orm: ^3.6
- easycorp/easyadmin-bundle: ^4
- endroid/qr-code: ^6.1
- liip/imagine-bundle: ^2.17
- phpdocumentor/reflection-docblock: ^6.0
- phpstan/phpdoc-parser: ^2.3
- scheb/2fa-backup-code: ^8.6
- scheb/2fa-bundle: ^8.6
- scheb/2fa-totp: ^8.6
- stripe/stripe-php: ^20.2
- symfony/asset: 8.1.*
- symfony/asset-mapper: 8.1.*
- symfony/console: 8.1.*
- symfony/doctrine-messenger: 8.1.*
- symfony/dotenv: 8.1.*
- symfony/expression-language: 8.1.*
- symfony/flex: ^2
- symfony/form: 8.1.*
- symfony/framework-bundle: 8.1.*
- symfony/http-client: 8.1.*
- symfony/intl: 8.1.*
- symfony/mailer: 8.1.*
- symfony/mime: 8.1.*
- symfony/monolog-bundle: ^3.0|^4.0
- symfony/notifier: 8.1.*
- symfony/process: 8.1.*
- symfony/property-access: 8.1.*
- symfony/property-info: 8.1.*
- symfony/rate-limiter: 8.1.*
- symfony/runtime: 8.1.*
- symfony/security-bundle: 8.1.*
- symfony/serializer: 8.1.*
- symfony/stimulus-bundle: ^3.2
- symfony/string: 8.1.*
- symfony/translation: 8.1.*
- symfony/twig-bundle: 8.1.*
- symfony/ux-turbo: ^3.2
- symfony/validator: 8.1.*
- symfony/web-link: 8.1.*
- symfony/workflow: 8.1.*
- symfony/yaml: 8.1.*
- symfonycasts/reset-password-bundle: ^1.25
- twig/extra-bundle: ^2.12|^3.0
- twig/twig: ^2.12|^3.0
- vich/uploader-bundle: ^2.9
Requires (Dev)
- phpunit/phpunit: ^13.2
- symfony/browser-kit: 8.1.*
- symfony/css-selector: 8.1.*
- symfony/debug-bundle: 8.1.*
- symfony/maker-bundle: ^1.0
- symfony/stopwatch: 8.1.*
- symfony/web-profiler-bundle: 8.1.*
Conflicts
README
A lean, self-hosted CMS for people who sell their own thing — any page becomes a product with one shortcode. Your checkout, your data, no marketplace in between.
Built on Symfony, installs with one command, and runs on your own server.
Why Tallyst exists
I needed a CMS with the usual essentials — pages, posts, media — plus one thing I kept failing to find without reaching for a bloated plugin: a form builder wired directly to a payment processor. Something simple, but capable.
Most CMS and e-commerce tools are built for stores — catalogs, inventory, teams. But a lot of us aren't running a store. We're solo developers selling our own software, or small businesses with one product or a handful of services. Do we really need a full e-commerce suite to sell that?
Tallyst is my answer. You build a payment-enabled form, drop [form id=N] into any page, and that page becomes a product. The buyer checks out through your Stripe or PayPal account; the order and customer data live in your database. No marketplace in between, nobody taking a cut, nothing to outgrow a plan.
Key features
- Core CMS — pages, posts, categories, media library, nested menus, a Tiptap content editor.
- Form builder → payment — the signature feature:
[form id=N]turns any page into a product, checking out through Stripe or PayPal. - Orders — order lifecycle with manual fulfilment, refunds, price variants, and inclusive tax + CSV export for your accountant.
- Themes — auto-detected (drop a folder into
themes/), with a child-theme parent chain. - Built in — full-text search, maintenance mode, a deployment-readiness panel, and editable e-mail templates.
- Production-grade auth — admin/editor roles, optional TOTP two-factor, password reset, and login throttling — because it handles payments.
- Modular by design — core features (CMS, form builder, media) ship as self-contained bundles; the same architecture supports optional and third-party modules, so you add only what you need.
Quick start
composer create-project tallyst/cms my-site
cd my-site
php8.5 bin/console app:install
create-projectdownloads Tallyst and silently compiles its front-end assets (via a post-create hook).app:installis an interactive wizard — it validates your database connection, writes.env.local, runs migrations, and creates your admin account. Open/adminand log in.
If your default
phpis older than 8.5, run Composer through the right binary:php8.5 $(which composer) create-project tallyst/cms my-site
For the full version — server setup, the background worker for e-mail/orders, webhooks, and going live — see the detailed installation guide.
Requirements
- PHP 8.5+
- MySQL or MariaDB
- Composer
What Tallyst is not
Honest boundaries, so you can tell in 30 seconds whether it fits:
- Not a marketplace. It's your site selling your things — not a multi-vendor platform. This is deliberate.
- Not a merchant of record (in v1.0). You connect your own Stripe/PayPal and handle your own tax/VAT. MoR integrations (so a provider handles global tax for you) are planned for a future release.
- No subscriptions or comments yet. Planned as future modules — Tallyst v1.0 is one-time payments.
- Not a full e-commerce suite. By design. If you need catalogs, inventory, and a team workflow, reach for a platform built for that. Tallyst is for selling your own product or services, simply.
Roadmap
v1.0.0 — released. Core CMS, form-to-payment, orders/refunds/variants/tax, themes, search, the installer, and the readiness panel.
Planned for future releases:
- Merchant-of-Record integrations (e.g. Lemon Squeezy / Paddle) for global tax compliance
- Subscriptions & recurring billing
- Automated digital delivery (download links / licence keys / access grants on fulfilment)
- A WordPress importer + portable content packs
- Optional modules (comments, …) and paid add-on modules
Tallyst follows semantic versioning from v1.0.0 — the core API is the contract for add-on modules.
Screenshots
Coming soon.
Feedback
Tallyst is open source and actively developed. Bug reports and feature ideas are welcome via GitHub issues.
License
MIT © 2026 Sve je dobro j.d.o.o.