Skip to main content

General

On-Premise Deployment with Docker

The official guide to installing and running the Proxus IIoT platform using Docker and Docker Compose.

This guide details how to install and run the Proxus IIoT platform on-premise using Docker.

info
License Required

To start using Proxus after installation, you'll need a demo license. Please visit proxus.io/demo to submit your request.

Prerequisites

Before proceeding, please ensure your system meets the System Requirements for Proxus.

Ensure you have the following installed on your host machine:

  • Docker Engine: Download the version compatible with your OS from the official website.
  • Docker Compose: Typically included with Docker Desktop on Windows/macOS. Linux users may need to install it separately.

1. Installation

You can install Proxus using our automated script (recommended) or by manually downloading the configuration files.

Run the following command in your terminal to automatically download all necessary files and set up the directory structure.

curl -fsSL https://www.proxus.io/scripts/install.sh | bash

Supported Environments:

  • Linux / macOS: Standard Terminal
  • Windows: Git Bash or WSL (Windows Subsystem for Linux)

Option B: Manual Setup

If you prefer to download files manually, use the commands below for your operating system.


2. Running the Platform

Navigate to the directory where you downloaded the files and execute:

docker-compose -p "proxus" up -d
lightbulb
Permissions

You might need administrative privileges. Use sudo on Linux/macOS, or run your terminal as Administrator on Windows.

Accessing the Interface

Once containers are running, open your browser:

open_in_new

Open Management Console

http://localhost:8080

  • Username: Admin
  • Password: (Leave blank)

3. Maintenance & Updates

Updating the Platform

To pull the latest images and restart the stack:

# 1. Backup your data (see below)
# 2. Pull latest images
docker compose -p "proxus" pull

# 3. Restart containers
docker compose -p "proxus" up -d

Modifying Configuration

To edit Proxus-config.toml inside the running volume without copying files back and forth:

VOLUME_PATH=$(docker volume inspect proxus_config --format '{{ .Mountpoint }}') &&
CONFIG_FILE="${VOLUME_PATH}/Proxus-config.toml" && nano "$CONFIG_FILE"

Copying Local Files to Containers

If you prefer to edit locally or need to add DLLs (like Oracle):

# Copy Config to UI Container
docker cp Proxus-config.toml proxus-ui:/app/config/Proxus-config.toml

# Copy Oracle DLL to Server Container
docker cp Oracle.ManagedDataAccess.dll proxus-server:/app/Oracle.ManagedDataAccess.dll

4. Backup & Restore

warning
Stop Containers First

It is recommended to stop the platform (docker compose down) before performing a restore to prevent data corruption.

Backup Script

This creates a compressed archive for each volume in a proxus_backup directory.

backup_dir="$(pwd)/proxus_backup"
mkdir -p "$backup_dir"

for volume in proxus-db-volume nats config proxus_modules; do
echo "Backing up $volume..."
docker run --rm \
-v "$volume:/data" \
-v "$backup_dir:/backup" \
busybox tar czf "/backup/${volume}_backup.tar.gz" -C /data .
echo "Backup of $volume completed."
done

Restore Script

Restores data from the proxus_backup directory to the Docker volumes.

backup_dir="$(pwd)/proxus_backup"

for backup_file in "${backup_dir}"/*_backup.tar.gz; do
volume="$(basename "${backup_file}" _backup.tar.gz)"
echo "Restoring ${volume} from ${backup_file}..."
docker run --rm \
-v "${volume}:/data" \
-v "${backup_dir}:/backup" \
busybox tar xzf "/backup/${volume}_backup.tar.gz" -C /data
echo "Restoration of ${volume} completed."
done

Troubleshooting

If the UI or Server fails to start, check the logs:

docker logs proxus-ui
docker logs proxus-server