structurizr / onpremises

Structurizr on-premises installation
https://docs.structurizr.com/onpremises
MIT License
117 stars 45 forks source link
c4-model c4model softwarearchitecture structurizr

Structurizr on-premises installation

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.

Building from source

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 clean build

The integration tests use Testcontainers to start an Elasticsearch instance. If you don't have Docker installed, you can use ./gradlew clean build -x integrationTest to exclude the integration tests.

If successful, you will see a file named structurizr-onpremises.war in structurizr-onpremises/build/libs. To then build a Docker image:

cd structurizr-onpremises
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