The Structurizr on-premises installation is a standalone version of Structurizr that can be run locally on your own infrastructure, and includes the majority of the features found in the cloud service. Please see the products page for the differences in feature set.
The on-premises installation is a Java EE/Spring MVC web application, packaged as a .war file, for deployment into any compatible Java EE server, such as Apache Tomcat. For ease of deployment, by default, all data is stored on the local file system. Optionally, data can be stored on Amazon S3, and search indexes on an Elasticsearch cluster.
- Note 1: The HTML, JS, CSS, JSP, etc files are in a separate structurizr/ui repo because they are shared with the cloud service and Structurizr Lite.
- Note 2: Building and running from source has only been tested with Java 17.
To build from source:
git clone https://github.com/structurizr/onpremises.git structurizr-onpremises
git clone https://github.com/structurizr/ui.git structurizr-ui
cd structurizr-onpremises
./ui.sh
./gradlew build
If successful, you will see a file named structurizr-onpremises.war
in build/libs
.
To then build a Docker image:
docker build . -t mytag
And to start a Docker container from this image (replace /path/to/dataDirectory
):
docker run -it --rm -p 8080:8080 -v /path/to/dataDirectory:/usr/local/structurizr mytag