Self-hosted deployment

Host your own Magnolia instances on-premises or in the cloud for maximum flexibility.

vishal-bansal-dlHmeopH-bU-unsplash

Magnolia is available as a software bundle certified for Linux, Windows, and MacOS. This allows you to install it anywhere–on your computer, in your data center, or on your preferred cloud platform.

Do you prefer to deploy Magnolia as a Docker container in your environment? In our white paper we share best practices helping you choose the right components for your Magnolia container, configure your container to start up automatically, containerize your content, and synchronize content across instances.

FAQs

What are the hardware requirements for running Magnolia?

Hardware recommendations are dependent on the way the application is hosted, as the underlying stack (i.e. hypervisor / OS / containerization stack) must be accounted for.

The recommended specifications for the application itself (in production mode) are:

  • CPU: 4vCPU
  • Memory: 12GB for the author instance, 8GB/instance for publics
  • Storage: Min 30GB. This size depends on the amount of content (pages / assets) that will be stored and may vary from project to project. In addition, external storage (i.e. S3 or Azure Blobs) might be used for the storage of assets.

Which operating systems and servers are supported by Magnolia?

The Magnolia application is OS agnostic. Please refer to the certified stack for more details.

What are the software dependencies for installing Magnolia?

The dependencies can be found in our documentation, on the certified stack page. In a nutshell, the following components are required:

  • A database (supported options can be found in the documentation)
  • A Java runtime environment (Java 11 or Java 17)
  • An application server (preferably Tomcat or JBoss EAP)
  • Also, we strongly recommend hosting the application behind a Firewall (WAF) and a LoadBalancer / Reverse Proxy.

Is there a recommended web server or application server for hosting Magnolia?

It’s best to use a technology stack your engineers are familiar with. Our recommendations are:

  • Tomcat as an application server
  • Nginx as a potential reverse proxy server (in case the target architecture requires this component).

Do we need additional capacity to handle scalability and high availability for the infrastructure?

This depends on the technology used. Generally speaking, this can imply more compute resources (v)CPU, memory and storage in order to account for more Magnolia Public Instances.

Are there any specific network requirements to consider for integrating Magnolia with other systems?

This depends on the on-premise architecture decisions.

What backup and disaster recovery (DR) solutions are in place for the Magnolia infrastructure?

This depends on the stack used to host the application. Operations remain the customer's responsibility.

We recommend regular backup (or snapshots) of the disks for the application server and potential storage areas (external / network drives) and application level backups for the database layer.

What are the recommended server and database backup strategies for Magnolia?

We recommend regular backup of the OS and application stack, in accordance with each company’s internal IT policies.

The database should be backed up regularly (typically once a day or once a week), depending on the RTO / RPOs required.

 As an example, when using PSQL as the backing RDBMS, “Basebackups” are typically performed once a week, with regular WAL archiving (timeout definable depending on RPOs required). The same policy should be applied to any external (remote) filesystem (e.g. S3 storage / Azure Blob) if applicable.

Are there any security considerations to keep in mind while setting up the infrastructure for Magnolia?

Magnolia is not different from any web application and should be hosted adequately. Please refer to the Magnolia PaaS section of this question for more details.

We strongly recommend the usage of “Security hardened” (i.e. OWASP) reverse proxies, load balancers, web servers. In addition, the usage of a WAF is strongly recommended.

What monitoring and logging tools are used to ensure the health and performance of the Magnolia infrastructure?

Not applicable, as the application hosting and operation are the responsibility of the customer.

What database options are supported by Magnolia?

Please refer to the certified stack for available options. In a nutshell, MySQL, MariaDB, Oracle, H2 and PostgreSQL are the products seen the most. PostgreSQL is the preferred RDBMS.

Are there any specific configuration requirements for integrating Magnolia with a content delivery network (CDN)?

There are no specific requirements when integrating a CDN. Caching policies need to be set on Magnolia level.

How do you handle SSL/TLS certificates and secure communication for Magnolia?

Not applicable, as the application hosting and operation are the responsibility of the customer.

What version control system (VCS) does Magnolia support for managing content and code changes?

Any VCS can be used. We commonly see in use TFS, AzureDevOPS and Git.

Are there any specific requirements for integrating Magnolia with third-party systems or APIs?

There are no specific requirements, as Magnolia is very flexible regarding integrations. Integrations are mostly done via REST APIs, but other technologies might be used as well, depending on the third-party system.

How do you handle content replication and synchronization across multiple Magnolia instances?

Content replication is possible on JCR workspace level by exporting select items or entire workspaces to XML or YAML.

How do you handle user authentication and authorization in Magnolia?

Magnolia is very flexible regarding user authentication and authorization. Authorization typically stays within Magnolia (even if managed externally) and can either remain “local” to Magnolia or “external” via the usage of the SSO module.

The SSO module natively supports Open ID Connect compatible identity providers (Azure AD or equivalent) and can be extended to other protocols (e.g LDAP / SAML) by using an identity broker like Keycloak.

Sign-up for a developer trail

Get your free 30-day trial now

You're steps away from getting hands-on with Magnolia:

  • Request your 30-day free trial. 
  • We'll send you a license key and the needed resources.
  • Install Magnolia and start building your projects.