Skip to main content
Nexus Core can be installed in two ways: built from source with Maven, or deployed as a full Docker Compose stack that automatically starts Nexus Core, Redis, and MongoDB together. Both approaches are covered below

Option A: Manual Installation (Maven)

Prerequisites

Step 1: Clone the Repository

Step 2: Set the Signing Key

Set the NEXUS_SIGNING_KEY environment variable before building or running. This key is used for HMAC-SHA256 signing on both incoming and outgoing Redis messages, so every Spigot server in the network must use the same value.
Never commit this key to version control. Use a secrets manager, CI/CD environment variable, or a .env file excluded from Git. Rotate it immediately if it is ever exposed.
If NEXUS_SIGNING_KEY is not set, both inbound signature verification and outbound message signing are disabled. A one-time warning is logged. This is acceptable only for local development.

Step 3: Build the JAR

The output JAR is placed at:

Step 4: Run Nexus Core

Starting from v1.5, Nexus Core launches a Spring Boot web panel instead of the legacy Swing dashboard. The web panel is accessible at:
Use the web panel to enter your Redis and MongoDB connection details and initialize the engine.

Step 5: Configure the Connection

In the web panel, provide the following: Since v1.4.0, these values are persisted to a local config file. Subsequent launches load them automatically, so the configuration step only needs to be completed once.

Step 6: Verify the Installation

After initialization you should see log output confirming:
  • Redis connection established
  • MongoDB connection established
  • AddonRegistry ready
  • Security layer active (if NEXUS_SIGNING_KEY is set)
If MongoDB becomes unavailable at runtime, Nexus Core performs a controlled shutdown and logs the reason. Resolve the connectivity issue and restart.

Running as a Background Service (Linux)

To keep Nexus Core running after you close the terminal, use nohup or a systemd unit.
Stop with:

Troubleshooting

Check that no other process is using port 8080 (lsof -i :8080). If you need a different port, set SERVER PORT to a free port during first-time configuration, or update the persisted config file.
Verify the host, port, and credentials. For MongoDB, ensure the URI is a valid connection string (e.g. mongodb://user:pass@host:27017/dbname). For Redis, confirm redis-server is running and reachable from the Nexus Core host.
The NEXUS_SIGNING_KEY on Nexus Core and the sending Spigot server must be identical. Set the same key on both sides. Also confirm that NTP is running and server clocks are within 5 minutes of each other.
Timestamp drift is the most common cause. Nexus Core rejects packets older than 5 minutes. Run ntpdate or enable an NTP service (timedatectl set-ntp true) on all hosts.

Option B: Docker Compose Installation

The Docker Compose stack builds Nexus Core from source inside a container and starts Redis, MongoDB, and Nexus Core together, with health checks, persistent volumes, and automatic service discovery.

Prerequisites

Step 1: Clone the Repository

Step 2: Create a .env File

Create a .env file in the project root to set credentials and the VNC password:
Always use strong, unique passwords in production. Never commit the .env file to version control — add it to .gitignore.

Step 3: Build and Start the Stack

Docker pulls the base images, builds Nexus Core from source, and starts three containers: Nexus Core only starts after both Redis and MongoDB pass their health checks. Check that all three containers are running:

Step 4: Connect via VNC for Initial Setup

On first launch, Nexus Core presents an interactive setup wizard over VNC. Connect your VNC client to:
Use the VNC_PASSWORD you set in the .env file. Inside the VNC session, the setup wizard asks for Redis and MongoDB connection details. Use the Docker service names as hostnames — not localhost:
Inside the Docker network, containers reach each other by service name (redis, mongo). Using localhost here will not work.

Step 5: Access the Web Panel

After completing the setup wizard, open your browser and navigate to:
The Spring Boot web administration dashboard is now available.

Exposed Ports

Useful Docker Commands

Persistent Data

Redis and MongoDB store data in named Docker volumes (redis-data and mongo-data). Stopping the stack with docker compose down preserves all data. To wipe all volumes and start fresh:
Running docker compose down -v permanently deletes all Redis and MongoDB data. Use it only when you intend a full reset.

Docker Troubleshooting

Redis or MongoDB may not have passed their health checks in time. Check their status with docker compose ps and inspect their logs with docker compose logs nexus-redis or docker compose logs nexus-mongo. The depends_on health checks require both services to respond before Nexus Core starts.
Confirm the container is running (docker compose ps) and that no firewall rule is blocking port 5900. If you changed the default VNC port, update the ports mapping in docker-compose.yml to match.
The default credentials from the .env file are MONGO_ROOT_USER and MONGO_ROOT_PASSWORD. If you changed them, use the updated values in the MongoDB URI. Always include ?authSource=admin at the end of the URI when using root credentials.
Confirm the setup wizard completed successfully inside the VNC session. The web panel only becomes available after Nexus Core has initialized. Also check that no other service on the host is using port 8080.

Docker Security Checklist

Before deploying to production:
  • Replace all default credentials in .env with strong, unique values.
  • Restrict external access to ports 6379 and 27017 using a firewall — they should not be publicly reachable unless required.
  • Restrict VNC access (port 5900) to trusted IPs or behind a VPN. The VNC session is only needed for initial setup.
  • Protect the web dashboard (port 8080) with HTTPS and access controls.
  • Never commit .env or any credentials to version control.

Next Steps

Quickstart

Register your first DataAddon and send your first request.

Configuration

Full reference for all connection parameters and the signing key.