The CMS Built Into Your Symfony Application
Armonic installs as just another bundle in your Symfony project. Your marketing team can publish content without touching code, while your developers don't have to maintain two separate systems.
A solution to focus on what's important
Your application works. But now you need campaign landing pages, a blog, legal pages, and a help center. That's when the usual three workarounds show up:
- Set up a separate WordPress site. Two deployments, two user models, and two systems to patch every time a new bug is published.
- Add a headless CMS. You introduce another service, another API to cache, and another monthly bill just to manage pages that could already live inside your application.
- Hardcode the pages. Fast the first time. By the third request from marketing to update the copy, you're opening another ticket.
All three end the same way: two places to look whenever something breaks.
What to Expect from Armonic
Armonic is a collection of Symfony bundles that you install with Composer, turning your own application into its own content management system.
- Reusable pages, layouts, and blocks. Developers define the building blocks, and the content team combines them.
- Multi-site and multilingual from day one. Multiple domains and multiple languages, all running from a single installation.
- Versioning with live preview. Prepare your changes, review them, and publish when you're ready.
- Custom modules. Define your own blocks with whatever logic you need, including integrations with your existing systems.
- Everything runs on your infrastructure. It runs on your servers, with your database and your users. There is no intermediary service operated by us.
Armonic vs. the Alternatives
| Feature | Armonic | Coupled WordPress | Strapi (headless) | Drupal | Sulu |
|---|---|---|---|---|---|
| Deployments to maintain | 1 | 2 | 2 | 1 | 1 |
| Users and permissions | Your application's | Duplicated | Duplicated | Drupal's | Sulu's |
| Learning curve for a Symfony developer | Low | Medium | Medium | High | Low |
| HTML control |
Full
Twig
|
Partial
Theme-based
|
Full
You build the frontend
|
Partial
Theme-based
|
Full
Twig
|
| Total cost (licensing + operations) | Your hosting only | + Separate hosting | + Hosting or cloud | Your hosting only | Your hosting only |
| Fits into an existing Symfony project | Native | Runs alongside | Runs alongside | No | Requires the Sulu Skeleton |
When It Makes Sense
It makes sense if...
- You already have a Symfony application in production. Armonic integrates into the application you already have, without requiring a separate system.
- Your marketing team depends on the development sprint to publish content. With Armonic, the content team can edit and publish on their own, without opening tickets.
- You manage multiple brands, domains, or languages. Everything is managed from a single installation by one team, without duplicating work.
- You care about having full control over your HTML. You write the Twig templates, so you stay in control of performance and accessibility.
It probably isn't the right fit if...
- Your project is just a content website, with no application behind it. WordPress will likely be faster and more cost-effective. And we're happy to say that even if it means losing the project.
- You need to serve content to multiple decoupled frontends. Armonic doesn't expose a public content API. In that scenario, a headless CMS is a better fit.
- You're looking for a visual drag-and-drop page builder. Developers define the available blocks. The content team can combine and fill them, but they don't create them visually.
- Your team doesn't work with PHP. Armonic is built on Symfony from top to bottom. Without developers who can maintain PHP code, it probably isn't the right choice.
What Changes Day to Day
Marketing no longer waits for the next sprint. Changing a headline, publishing a landing page, or correcting a price no longer requires opening a ticket. The content team can do it directly from the back office.
One back office for all your brands and languages. Multi-site and multilingual support are built in. Adding a new domain or language is simply a matter of configuration.
One deployment, one login, one hosting bill. Because Armonic is part of your Symfony application, it shares users, permissions, sessions, cache, and infrastructure. There's no second system to maintain, update, or audit.
The CMS adapts to your product, not the other way around. You define your own blocks and modules with whatever business logic you need. If a product page needs to fetch data from your ERP, it can do so seamlessly.
Case studies with verifiable impact
We build technology to solve real-world problems. Here are some examples of the kind of impact we aim to create.
Armonic is free. Our expertise isn't.
The code is open source and available on GitHub. You can install it, use it in client projects, and modify it without paying us anything or asking for permission.
What we do charge for is everything else:
- Implementation. We integrate Armonic into your Symfony project and get your team up and running.
- Custom module development. We build the blocks and features your product needs.
- Migration. From WordPress, a headless CMS, or custom-built pages.
- Support and maintenance. Version upgrades, issue resolution, and ongoing technical support.
We work with dedicated person-weeks rather than hourly packages. You know exactly which team is assigned to your project and for how long.
For developers

GitHub Repository and docs
Everything you need to download Armonic and start using it in your project.
Install it with Composer. The complete compatibility matrix and PHP extension requirements are available in the documentation.
Frequently Asked Questions
Is Armonic open source?
Yes. The source code is available on GitHub under the AGPL-3.0 license and can be installed from Packagist. There are no license fees and no paid edition with features locked behind a paywall.
Does it work with Symfony 7?
It depends on the version. The 6.x branch supports Symfony 7.4 and later, but not versions 7.0 through 7.3. If you're using one of those versions, the 5.x branch supports them. The complete compatibility matrix is available in the documentation.
Can I migrate my content from WordPress?
Yes, and it's one of the most common projects we handle. Pages, media files, and URLs can be migrated largely automatically. We review redirects and URL structures individually to preserve your search engine rankings.
What if Softspring stops maintaining Armonic?
The code is yours, and it's open source. Any team with Symfony experience can maintain it because there's nothing unusual about it: it's built as standard Symfony bundles that follow the framework's conventions. That's one of the main reasons it's open source.
Do I need Softspring to use Armonic?
No. You can install and use it yourself by following the documentation. You only need us if you want to speed up the implementation or have expert support when you need it.
Can I manage multiple domains from a single installation?
Yes. Armonic is multi-site out of the box. You can manage multiple domains, each with its own structure, templates, and content, from a single back office.
Does the content team need to know HTML?
No. Developers define the available blocks, and the content team simply combines and fills them from the back office.
Where is my data hosted?
On your own infrastructure. Armonic is not a SaaS product: there are no Softspring servers in the middle, and your content never passes through our systems.