- Notifications
You must be signed in to change notification settings - Fork5
License
structr/docker-setup
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
A Docker Compose setup for running Structr with a pre-configured Neo4j database.
The environment variableAGREE_TO_STRUCTR_PRIVACY_POLICY (https://structr.com/privacy) needs to be set toyes in thedocker-compose.yml file before Structr can be started.
- Docker
- Docker Compose
This is the simplest way to get started. No configuration needed.
Start the containers:
docker compose up -d
Access Structr:Openhttp://127.0.0.1:8082/structr/ in your browser
Stop the containers:
docker compose down
Note: This uses Docker-managed volumes. Your data persists between restarts but is managed internally by Docker.
If you want to access Structr data directly on your host filesystem (useful for deployments and backups), you can use custom volume mounts.
Run the setup script:
./setup.sh
This creates local directories and sets proper permissions.
Add your license file:
- If you have a Structr license, copy it to
./structr/license.key - For community edition, the setup script creates an empty file for you
- If you have a Structr license, copy it to
Modify docker-compose.yml:
Replace the named volumes with bind mounts. Change the
volumessection for each service:For Neo4j:
volumes: -./volumes/neo4j-database:/data -./volumes/neo4j-logs:/logs
For Structr:
volumes: -./volumes/structr-files:/var/lib/structr/files -./volumes/structr-repository:/var/lib/structr/repository -./volumes/structr-logs:/var/lib/structr/logs -./structr/license.key:/var/lib/structr/license.key
Start the containers:
docker compose up -d
- Direct access to logs in
./volumes/structr-logs/and./volumes/neo4j-logs/ - Easy backup and restore of data
- Simplified deployment workflows (see below)
docker ps
dockerexec -it<container_id> /bin/sh
docker compose logs# All logsdocker compose logs structr# Structr logs onlydocker compose logs neo4j# Neo4j logs only
When using custom volume directories, you can deploy Structr applications through the repository directory.
Important: Follow this order:
Clone your application repository to
./volumes/structr-repositoryNavigate to Structr's dashboard athttp://localhost:8082/structr/#dashboard → Deployment
Import application:
- Enter
/var/lib/structr/repository/webappin the "Application import from server directory" field - Click import
- Enter
Export changes:
- After making changes in Structr
- Enter
/var/lib/structr/repository/webappin the "Application export to server directory" field - Click export
Commit and push:
- From the host system, commit your changes in
./volumes/structr-repository - Push to your repository
- From the host system, commit your changes in
Deploy updates:
- Pull the latest changes
- Repeat from step 3
Structr:
- Username:
admin - Password:
admin
- Username:
Neo4j:
- Username:
neo4j - Password:
structrDockerSetup
- Username:
You can adjust CPU and memory limits indocker-compose.yml under thedeploy.resources section for each service.
Default limits:
- CPU: 2 cores limit, 1 core reserved
- Memory: 4GB limit, 1GB reserved
- Check if ports 8082, 7474, 7473, or 7687 are already in use
- View logs with
docker compose logs
- Run the setup script again:
./setup.sh - Ensure your user is in the
structrgroup (may require logout/login)
- Quick Start method: Data stored in Docker volumes, persists until you run
docker compose down -v - Advanced method: Data stored in
./volumes/directory on your host
About
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors3
Uh oh!
There was an error while loading.Please reload this page.