Documentation

Quick Start (Docker)

Set up your own self-hosted instance of nLink in minutes using Docker Compose.

Prerequisites

  • Docker installed on your system
  • Docker Compose plugin

docker-compose.yml Reference

nLink distributes its engine as a powerful, unified single Docker image combining both the frontend and backend. By default, it uses a lightweight embedded SQLite database so you don't need to spin up heavy SQL containers. Below is the standard deployment template:

name: nlink-workspace

services:
  nlink:
    container_name: nlink-workflow
    # Pull the pre-built monolithic image from Docker Hub (No Source Code Required)
    image: nlinkio/nlink-workflow:v1.0.0-beta
    ports:
      - "80:80"  # Map public ports according to your network needs (e.g., "8080:80")
    restart: always
    volumes:
      # Map the directory containing the SQLite database and system assets
      - ./nlink_data:/app/storage
    environment:
      # ALL SETTINGS HERE WILL OVERRIDE THE INTERNAL CONTAINER CONFIGURATIONS
      # -------------------------------------------------------------
      # 0. CORE & SECURITY (CRITICAL):
      # Define the public URL where customers access nLink (Required for SAML SSO to work correctly)
      - BASE_FRONTEND_URL=http://localhost
      - BASE_API_URL=http://localhost/api
      # Change these secret keys to randomly generated strings for production!
      # - JWT_SECRET_KEY=change_this_to_a_long_random_string
      # - CREDENTIAL_SECRET_KEY=change_this_to_another_32_char_random_string
      # - INTERNAL_API_TOKEN=change_this_too_if_using_microservices
      
      # 1. DATABASE: Explicitly defining SQLite as the default database.
      - DATABASE_DEFAULT=SQLITE
      - SQLITE_DATABASE=/app/storage/database.sqlite
      
      # Unless you wish to scale using an external MySQL database, then comment SQLite above and uncomment these lines:
      # - DATABASE_DEFAULT=MYSQL
      # - MYSQL_HOST=192.168.1.100  # Or the mysql service name below if deployed within the same cluster
      # - MYSQL_PORT=3306
      # - MYSQL_DATABASE=nlink_db
      # - MYSQL_USERNAME=root
      # - MYSQL_PASSWORD=root_secret
      
      # 2. REDIS: (Optional) Enable Redis Caching instead of default internal memory processing
      # - REDIS_ADDR=redis_server:6379 
      # - REDIS_PASSWORD=123456
      # - REDIS_DB=8

      # 3. AI SELF-HEALING: (Optional) Supply an OpenAI Key to auto-repair data mapping errors
      # - NLINK_HEALING_OPENAI_KEY=sk-proj-xxxxxxxxxxxxxxxxxxxx

1. Launching the Services

Save the content above into a file named docker-compose.yml. Next, open your terminal in the same directory and execute:

docker compose up -d

The -d flag runs your containers in the background, keeping your terminal free.

2. Accessing Your Instance

Once up and running, you can access the frontend and backend directly:

  • Frontend Dashboard: http://localhost:80 (Or your server IP)
  • Backend API Prefix: Routings go directly to http://localhost/api/