0

On-Premises setup guide - Docker

This guide explains how to install and set up the Ninox On-Premises server using Docker on a Linux-based system


1. Pull the Ninox server image

The server image is openly available on the Docker Hub. Download the Ninox On-Premises image from the repository.

Pull the latest version:

docker pull ninoxdatabase/ninox-on-premise:latest

Pull a specific version (recommended for stability):

docker pull ninoxdatabase/ninox-on-premise:3.13.6

Check for the latest versions on the Ninox On-Premises Docker Hub (requires Docker login to view page).

2. Configure the Ninox server

The server configuration file (server-config.json) defines key environment-specific settings for the Ninox server. By default, a pre-configured server-config.json file is included with the Ninox image.

Default location:

/usr/local/nxdb/server-config.json

Example configuration (server-config.json):

{
    "data": "var/nxdb",
    "ssl": false,
    "host": "localhost",
    "port": 443,
    "bindPort": 80,
    "bindInterface": "0.0.0.0",
    "redirectPort": 9090,
    "workers": 2,
    "emailHost": "",
    "emailPort": 25,
    "emailSecure": false,
    "emailUser": "",
    "emailPassword": "",
    "emailFrom": "",
    "emailClient": "",
    "snapshots": true
}

3. Optional: Customize configuration

To override the default settings, mount a custom server-config.json file when starting the container.

Option 1: Mount a single server-config.json file

docker container run -d \ --name {container-name} \ -p {host-port}:{container-port} \ -v /mount/path/for/server-config.json:/usr/local/nxdb/server-config.json \ -v NX-DATA:{data-path-or-use-default-/var/nxdb} ninoxdatabase/ninox-on-premise

Replace the placeholder inside {} (including the curly brackets) with appropriate values.

Option 2: Mount a configuration directory containing server-config.json

docker container run -d \ --name {container-name} \ -p {host-port}:{container-port} \ -v /mount/path/for/config/:/usr/local/nxdb/config \ -v NX-DATA:{data-path-or-use-default-/var/nxdb} ninoxdatabase/ninox-on-premise

Replace the placeholder inside {} (including the curly brackets) with appropriate values.

Note: For a detailed explanation of configuration options, see the sample configuration file documentation.

4. Start the Ninox server container

Using docker run (manual execution)

Without a proxy and without custom server configuration (basic setup)

docker container run -d \
    --name nxdb \
    -v NX-DATA:/var/nxdb \
    -p 80:8080 ninoxdatabase/ninox-on-premise

In this setup, the Ninox server uses the built-in configuration file. Any changes applied to the server configuration using UMS interface aren't persistent. Access Ninox via http://localhost.

With a proxy between client and server

docker container run -d \
    --name nxdb \
    -p 6999:8080 ninoxdatabase/ninox-on-premise \
    -v NX-DATA:/var/nxdb \
    -v {path-to-server-config.json}:/usr/local/nxdb/server-config.json ninoxdatabase/ninox-on-premise-

Specify the server configuration mount, as it will override the default configuration. Access Ninox via http://{host-specified-in-server-config-json}. Replace the placeholder inside {} (including the curly brackets) with appropriate values.

Make sure the following criteria are met:

  • The host parameter is properly configured.

  • The HostPort in the -p directive of the container is correct.

  • The proxy is set up to forward incoming requests to the correct port.

5. Configure SSL

Without a proxy

We recommend configuring SSL on the Ninox server. Update the ssl property in server-config.json and mount an additional directory containing SSL certificates. For example:

/usr/local/nxdb/certificates

Make sure the following criteria are met:

  • redirectPort is set to 80 to redirect all HTTP requests to the SSL-enabled port.

  • port is set to 443.

  • bindPort is set to an available value, for example, 8443.

With a proxy

If a proxy is used, SSL should be configured on the proxy itself.

6. Log in to the server

Log in to Ninox using the default administrator credentials:

  • Username: root

  • Password: root

7. Change default credentials

For security, update the default username and password:

  1. After logging in, click the gear icon in the topbar.

  2. In the dropdown menu, select Ninox settings.

  3. In Ninox settings, go to Collaborators.

  4. Select the root account.

  5. Replace the default credentials with your email address and a secure password.

  6. Click Save to apply the changes.

8. Apply the license file

To apply your Ninox On-Premises license:

  1. Download the Ninox license file (ninox.license) from your email.

  2. In Ninox settings, go to Subscriptions.

  3. Click Upload Ninox license and select the downloaded ninox.license file.

  4. Click Save and restart to apply the license.

9. Access the Ninox Server

Troubleshooting and diagnostics

To see your Docker disk usage, check the bottom of the Docker Desktop window.

If you notice high disk usage or performance issues, follow these steps to clear the Docker build cache.

  1. Check current Docker disk usage:

docker system df -v
  1. Clear unused build cache, containers, and dangling images:

docker builder prune

Additional help

If you encounter issues or need additional assistance with your Ninox On-Premises, contact our support team.

Reply

null