Get Structr up and runningRunning Structr

There are multiple options to run Structr:

  • Try it out with our Sandbox service
  • Install your own instance on your computer or a server
  • Run Structr in the cloud as a Docker container

Sandbox Service

With the Structr Sandbox service we offer free instances so that you can try out the basic functionality of Structr effortlessly and anonymously.

To create a sandbox, go to https://structr.com and click on the button labeled “Try it out!” and follow the instructions.

After about 30 seconds, your personal, unique sandbox instance is ready to use.

A Structr sandbox is a fully functional Structr server instance running on an in-memory database. Any sandbox will automatically be stopped and erased after one hour.

If you see this screen, the Structr sandbox is ready to use and you can login with the default credentials admin/admin and make your first steps with Structr.

Installation

While running Structr in a sandbox is a great way to develop a small prototype, for the development of a more complex application you may wish to install Structr on a more powerful machine. This section walks you through some of the ways Structr can be installed.

Hardware Requirements

Structr can run on a desktop PC, a laptop, on a dedicated or virtual server, or in the cloud. Structr requires a Java Virtual Machine (Java Development Kit) and runs on all common platforms without further adaptation. The Structr GmbH also offers service packages that include the operation and maintenance of an on-premise system or a cloud server provided by us.

The hardware requirements are determined by the amount of data to be processed and the load profile. Basic setup requirements can be met with 1 CPU core and 1 GB of RAM. However, to provide a more stable experience, our recommended minimum setup is 4 GB of RAM and 2 CPU cores dedicated to the Structr JVM process. Additional CPU and RAM should be planned for other processes/services running on the same machine.

Download Options

Structr can be downloaded from

where you can choose between a stable release and a development version. The stable release is recommended for production use and staging environments. The development version should be handled with care and only be used to test the latest features and bugfixes.

All we ask for when downloading a pre-built binary version of Structr is your name and your e-mail address so we can send you installation notes and ask you for feedback after evaluation.

After downloading Structr, you automatically receive an evaluation license key that allows you to evaluate the Enterprise Edition for 30 days. Without a valid license key Structr will run in Community mode with a reduced feature set.

We provide a Debian package (.deb) for Debian-based Linux systems and a distribution archive file (.dist.zip) for other operating systems like Apple Mac OS. We also provide official Docker images on Docker Hub.

Installation Types

Structr can be installed in typical cloud environments or on-premise.

Kubernetes / Helm

Structr provides a Helm repository with a chart for setting up a Structr cluster. The number of replicas is set to 1 by default, so you can also use it for a single-instance installation.

Configure the Structr Helm repository

First you need to configure and update the Structr Helm repository.

helm repo add structr https://structr.com/helm
helm repo update
Install and Configure Neo4j

Please note that you need to set up Neo4j separately. You can use the official Neo4j Helm charts, go to https://neo4j.com/docs/operations-manual/current/kubernetes/helm-charts-setup/ and follow the instructions there.

helm install neo4j neo4j/neo4j \
--set neo4j.name=neo4j \
--set neo4j.password=password \
--set volumes.data.mode=defaultStorageClass

Make sure that the configured name of the Neo4j service in your Neo4j configuration matches the connection URL in the Structr configuration below, and that Structr and Neo4j share the same namespace.

Create a values.yaml file

Once Neo4j is running, create a values.yaml file with the follwing contents.

# configure the desired number of replicas
replicaCount: 1

# Structr configuration
structr:

# configure your desired memory limits
memory:
min: 1g
max: 4g

# configure the storage class and size for your cloud provider of choice
filesvolume:
storageClassName: "standard"
size: 2Gi

# configure the connection to Neo4j
config:
database:
url: "bolt://neo4j:7687"
username: "neo4j"
password: "password"

# Add custom config entries here
custom: [
"application.schema.automigration = true",
]

# put the contents of your license.key file here
# please note that clustering only works with a Structr Enterprise license key
license: ""

# configure resource limits according to you cluster node configuration
resources:
limits:
cpu: 1000m
memory: 4Gi
requests:
cpu: 100m
memory: 1Gi
Start the Structr Cluster
helm install structr structr/structr -f values.yaml
Verify Successful Start
kubectl get pods
kubectl logs -f structr-0

Docker Setup

Structr supports cloud-based installation that is compatible with Docker images.

If you have Docker installed (see https://docs.docker.com/install/) on your server or local computer, you can install a Docker image with Structr and run it in a Docker container.

The official Docker images of Structr are available at https://hub.docker.com/r/structr/structr/. Follow the instructions in the overview section of that page for setup and further proceeding.

A simple docker-compose example setup that can be used as a template can be found on

On-premise/local Installation

For local or on-premise installation, you have the choice between three binary distribution packages:

  • Debian Package (.deb)
  • Java distribution archive file (.dist.zip)

Structr versions 4.0 and above require the Oracle GraalVM 22.1.0 (Oracle/Open JDK 11 for 3.4.3-3.6.3 and Oracle/Open JDK 8 for Structr 3.4.3 and below)

Please note that Structr versions 3.x do not support Neo4j 4.x, so you need to use Neo4j 3.5.x. This means that you need to change the default database version in Neo4j Desktop in order to use Structr with Neo4j Desktop.

GNU/Linux Debian Package (DEB)

The Debian package (.deb) can be installed on any Debian-based Linux systems such as Ubuntu or Mint.

After downloading, the Debian package can be installed with the following command:

sudo dpkg -i structr-<version>.deb

This will install Structr in /usr/lib/structr and register it as a system service that is automatically started and stopped at startup and shutdown.

Installing the license key

The evaluation license key (or any other license key that you receive when purchasing a Structr license) must be saved to the Structr installation directory. For Debian package installations this is /usr/lib/structr/license.key. The key will take be evaluated the next time the application is started and the corresponding features will be unlocked. The following screenshot shows a log of the startup process with a successful license verification.

Note the line “Licensed for Structr GmbH”.

Memory Configuration

The memory (Java heap memory) available to a Structr instance can be configured by editing the file ./bin/memory.config in the Structr directory and adding the JVM parameters -Xms and -Xmx, each followed by the amount of memory to assign.

-Xms1g -Xmx8g

Note: you may need to create the file ./bin/memory.config, if it does not exist yet.

Starting Structr

After successful installation and setup, Structr can be started with:

sudo service structr start
Logfile

The Structr logfile will be written to /var/log/structr.log. The following screenshot shows the contents of a typical structr.log right after the start.

Stopping Structr

The Structr service can be stopped with

sudo service structr stop

Apple macOS

Structr can be installed on any recent Apple macOS system with Oracle GraalVM 20.3.0 (Oracle/Open JDK 11 for 3.4.3-3.6.3 and Oracle/Open JDK 8 for Structr 3.4.3 and below) by performing the following steps:

  1. Download the file ending with -dist.zip from https://structr.com/resources/download.

  2. Open a terminal, cd to the Download folder and extract the downloaded file:
    unzip structr-<version>-dist.zip

  3. Enter the directory which has been created
    cd structr-<version>

  4. Start Structr
    bin/start
    You should see the following console output:

Creating logs directory...
Starting structr server structr-3.5.0.jar: OK

Access Structr with your web browser (Note: Depending on the speed of your computer, it can take between 10 seconds and a couple of minutes for the Structr server to start).

http://localhost:8082/structr/

Login with the default username/password combination admin/admin.