Quick Start

Get NodeLoom running on your own infrastructure in minutes with Docker Compose.

Fastest way to deploy NodeLoom

This guide uses the official nodeloom-self-hosted repository to spin up the entire stack -- the database, cache, backend API, and frontend -- using Docker Compose.

Prerequisites

Before you begin, make sure the following are ready:

RequirementMinimumNotes
Docker24+docs.docker.com
Docker Compose2.20+Bundled with Docker Desktop, or install the CLI plugin
Hardware4 CPU / 8 GB RAM8+ cores and 16+ GB recommended for production
License key--Obtain from sales@nodeloom.io

Verify your Docker installation:

Check versions
docker --version
docker compose version

Start NodeLoom

Follow the steps below to clone the self-hosted repository, configure your environment, and start all services.

1

Clone the self-hosted repository

bash
git clone https://github.com/reedzerrad/nodeloom-self-hosted.git
cd nodeloom-self-hosted
2

Create your environment file

Copy the example environment template:

Terminal
cp .env.example .env
3

Generate security secrets

Generate the required secrets and paste them into your .env file:

Generate secrets
echo "APP_ENCRYPTION_KEY=$(openssl rand -base64 32)"
echo "JWT_SECRET=$(openssl rand -base64 64)"
echo "APP_ADMIN_API_KEY=$(openssl rand -base64 32)"
echo "POSTGRES_PASSWORD=$(openssl rand -base64 24)"
echo "REDIS_PASSWORD=$(openssl rand -base64 24)"
4

Configure required values

Open .env in your editor and fill in:

  • Paste the generated secrets from the previous step
  • NODELOOM_LICENSE_KEY -- your license key (provided by your account manager)
  • ADMIN_EMAIL and ADMIN_PASSWORD -- credentials for the initial admin account
5

Start all services

Terminal
docker-compose up -d

Docker Compose will pull the official NodeLoom images from the GitHub Container Registry, start PostgreSQL and Redis, then bring up the backend and frontend. The first run may take a few minutes while images are downloaded.

6

Wait for health checks to pass

Monitor startup progress:

Terminal
docker compose ps

All four services (postgres, redis, backend, frontend) should show a healthy or running status. The backend has a brief start period to allow for initial setup.

7

Log in to the dashboard

Navigate to http://localhost:3000 in your browser. Log in with the ADMIN_EMAIL and ADMIN_PASSWORD you configured in your .env file.

It is recommended to change your password via Settings → Security after first login.

Security validation

The application will not start without valid security secrets. Weak or placeholder keys are rejected in production mode. Always generate unique, cryptographically random secrets for each environment.

Services Overview

The Docker Compose file starts four core services:

ServicePortPurpose
PostgreSQL5432Primary database
Redis6379Caching and real-time messaging
Backend8080REST API, real-time messaging, workflow execution engine
Frontend3000Dashboard, Canvas editor, and documentation site

An optional Nginx reverse proxy with SSL support is also included. Enable it with the --profile with-nginx flag.

Required Secrets

The following secrets must be configured in your .env file before starting NodeLoom:

SecretPurposeGenerate With
APP_ENCRYPTION_KEYEncrypts stored credentials at restopenssl rand -base64 32
JWT_SECRETSigns authentication tokensopenssl rand -base64 64
APP_ADMIN_API_KEYBackoffice API authenticationopenssl rand -base64 32
POSTGRES_PASSWORDDatabase authenticationopenssl rand -base64 24
REDIS_PASSWORDCache authenticationopenssl rand -base64 24

Encryption key persistence

If you change APP_ENCRYPTION_KEY after storing credentials, all previously encrypted credentials become unreadable. Back up your encryption key securely.

Verify the Installation

Run a quick health check to confirm every service is responding:

Health checks
# Backend health check
curl http://localhost:8080/health

# Frontend
curl -s -o /dev/null -w "%{http_code}" http://localhost:3000

Both endpoints should respond with HTTP 200.

Stopping NodeLoom

To stop all services while preserving your data:

bash
docker-compose down

To stop all services and delete all data (database volumes):

bash
docker-compose down -v

Data loss

The -v flag removes named volumes, permanently deleting your PostgreSQL and Redis data. Only use this when you want a completely fresh start.

User Management

Self-hosted NodeLoom differs from the SaaS version in how users are managed:

FeatureSaaSSelf-Hosted
Public RegistrationYesDisabled
Initial AdminSelf-registrationEnvironment variables (ADMIN_EMAIL / ADMIN_PASSWORD)
Add UsersInvite + RegistrationAdmin invitation or SSO
SSO / SAMLEnterprise planFully supported

Next Steps

  • Build Your First Workflow -- create a simple workflow from scratch using the Canvas editor.
  • Explore Nodes -- learn about the 169+ built-in nodes available for your workflows.
  • AI Agents -- build intelligent agents with memory, tools, and multi-provider support.