Skip to main content

Neo4j Setup

The supported Docker Compose paths include Neo4j. You do not need to install a database separately for the local quick-start or single-host production foundation.

Local quick-start​

docker compose up -d starts the image selected by MULTIFORUM_NEO4J_IMAGE, creates a persistent volume, and connects the backend over the private Compose network. The example credentials are for local use only.

Resetting with docker compose down --volumes permanently deletes the local database.

Single-host production​

Set a unique password and a pinned Neo4j image in .env.production:

NEO4J_PASSWORD=your-long-random-password
MULTIFORUM_NEO4J_IMAGE=neo4j:TESTED_VERSION

The production overlay keeps Bolt and Neo4j Browser bound to loopback for host diagnostics. Do not expose ports 7474 or 7687 publicly.

Neo4j data lives in the neo4j-data Docker volume. Use the repository's backup and restore commands rather than copying a live volume. The cold-backup command stops the write path and database before archiving it.

Version compatibility​

Pin the database, backend, and frontend versions that you have tested together. Neo4j stores are not generally portable across arbitrary versions.

The safe upgrade command blocks a Neo4j image change unless --allow-database-image-change is supplied. Use that flag only after reviewing Neo4j's supported upgrade path and proving the backup on a separate host.

The guarded restore likewise rejects a mismatch between the bundle's recorded database image and the configured image unless explicitly overridden.

External or managed Neo4j​

The application can be developed against an external Neo4j deployment, but the current production Compose and Terraform foundation are designed around the included single-host database volume. Managed Neo4j and high-availability database topologies remain advanced, operator-owned configurations rather than documented turnkey paths.