On-premises installation

The on-premises installation is a standalone version of Structurizr that can be run locally on your own servers, providing all of the major features needed to visualise, document and explore your software architecture.

Download

The on-premises installation is available to download from your dashboard using the On-premises downloads link. Please note that you must have already purchased a license for the on-premises installation or activated the free one-month trial.

Deployment

The on-premises installation is a Java EE web application, packaged as a .war file for deployment into any compatible Java EE server such as Apache Tomcat. Here are some basic instructions that assume you are using a freshly downloaded version of Apache Tomcat. In the instructions that follow, TOMCAT_HOME refers to the location of the Apache Tomcat installation.

Pre-requisites

On-premises installation

After downloading the on-premises installation, copy the structurizr-onpremises-ui.war file to TOMCAT_HOME/webapps/ROOT.war. The on-premises installation must be installed as the root web application. Delete the existing ROOT directory if it exists. You then need to add some configuration information. To do this, create a file called ROOT.xml in the TOMCAT_HOME/conf/Catalina/localhost directory with the following content (replacing ... with your license key).

<Context>
    <Environment name="structurizr/dataDirectory" value="/usr/local/structurizr" type="java.lang.String"/>
    <Environment name="structurizr/license" value="..." type="java.lang.String"/>
</Context>

The parameters being configured in this file are as follows.

  • structurizr/dataDirectory: The location where Structurizr data will be stored.
  • structurizr/license: The Structurizr on-premises license key.
  • structurizr/url: The URL where Structurizr can be accessed (optional; only set this if the Structurizr dashboard is reporting an incorrect URL).

Usage

After starting Apache Tomcat, you should be able to navigate to http://localhost:8080 in your browser.

On-premises installation home page

By default, as an anonymous user, you'll have read-only access. To create, delete and modify workspaces, you'll need to be signed in (the default username and password is structurizr and password).

On-premises installation dashboard

Usage

Using the on-premises installation is much the same as the cloud version. You can create a workspace using the "Create a new workspace" link on the dashboard after signing in, and upload your workspace content using the Structurizr client libraries (Java or C#).

Cloud service vs on-premises installation

The key differences between the cloud service and the on-premises installation are as follows:

  • Role-based security: The role-based security features have been taken out to simplify deployment, operation and support. Instead, anonymous users (not signed in) have read-only access, while authenticated users (signed in, based upon a simple username/password combination) have read-write access. Security is implemented using Spring Security, and you can customise the security configuration by modifying the WEB-INF/applicationContext-security.xml file.

Updates

The cloud service and on-premises installation share a common codebase, so any updates made to the cloud service are immediately available in the on-premises installation. To update, simply download a new version of the .war file, overwrite the existing version and restart your web/application server.

If you have customised the security configuration, be sure to copy this to the updated installation too.

Pricing and licensing

The on-premises installation is available as a perpetual license, with support and updates included for one year. See the pricing page for more details.