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.