Self-Host with Docker

Deploy DataPallas Server as Docker containers on Windows, Linux, or macOS — no Java installation needed.


DataPallas Server can be deployed as Docker containers on Windows, Linux, and macOS. Docker packages the server together with all its dependencies — no Java installation needed.

Table of Contents

Prerequisites

  • DockerGet Docker (Docker Desktop for Windows/macOS, Docker Engine for Linux)
  • Compose v2 — the commands below use docker compose, not the older docker-compose. It ships with Docker Desktop and with current Docker Engine.

Just Want a Look? One Command

You do not need to download anything to try DataPallas Server:

docker run --rm -p 9090:9090 flowkraft/datapallas-server:latest

Open http://localhost:9090 and sign in with burst / burst. The image is self-contained — it carries its own configuration, sample data, and report templates — so it comes up ready to use in well under a minute.

Everything is discarded when you stop the container, which is what you want for a first look. When you want to keep your work, use the full install below.

Install

  1. Download DataPallas-server-docker.zip

  2. Extract the zip file to your preferred location

  3. Navigate to the extracted DataPallas directory:

    cd DataPallas
  4. Start the containers:

    docker compose up -d
  5. Access the web interface at http://localhost:9090

Start it from inside the extracted DataPallas folder. Everything the server needs — your settings, sample reports, templates — ships in the folders sitting next to docker-compose.yml, and that is where the running server reads and writes them. Keep the folder together, and move it as a whole if you relocate it later.

First Sign-In

DataPallas Server comes with one account ready to go, burst with the password burst, so you can sign in the moment it starts.

Set your own password when you have a minute: open your name in the top right, then Users. Worth doing early, especially if colleagues will be using this server too.

See Users, Roles & Sign-In for the roles, for creating accounts for colleagues, and for signing in with your existing Microsoft, Okta, or Google Workspace accounts.

What Is Running

URLWhat
http://localhost:9090DataPallas — web UI and REST API
http://localhost:8025MailHog — catches every email DataPallas sends, so you can test delivery without a real mail server

MailHog also binds SMTP on port 1025. If 9090, 8025, or 1025 is already in use on your machine, change the mapping in docker-compose.yml before starting.

Where Your Data Lives

Your work lives in the folders next to docker-compose.yml, not inside Docker. They carry across restarts, upgrades, and docker compose down — so these are the folders to back up.

You do not need to open any of them day to day; the web UI takes care of that. They are listed here so you know where things are.

FolderWhat is in it
configYour settings — connections, email, report configuration, all managed from the web UI
templatesReport templates
samplesSample reports and configurations to start from
dbDatabases and sample data
output, quarantine, backupGenerated documents, anything that could not be delivered, backups
input-files, pollInput documents — files dropped into poll are picked up and processed automatically
_appsPortals, StarterPacks, and custom apps
logsLog files, if you ever need to look
scripts, tempCustom scripts and working space

Everyday Commands

Run these from the extracted DataPallas folder:

docker compose logs -f datapallas-server    # follow the logs
docker compose restart datapallas-server    # restart the server
docker compose down                         # stop; your folders are untouched
docker compose up -d                        # start again where you left off

Everything else — running reports, bursting, scheduling — is done in the web UI.

Upgrading

docker-compose.yml names an exact version, so you upgrade when you choose to. To move to a newer release, edit the image: line to the version you want — or uncomment the latest line sitting next to it — then:

docker compose pull
docker compose up -d

Your folders carry over as they are. A quick backup beforehand never hurts.

Things Worth Knowing

StarterPacks and Apps. docker-compose.yml shares your Docker socket with DataPallas so it can start portals, StarterPacks, and other containerized Apps for you, straight from the web UI. If you would rather not use those features, remove that line.

Sharing it with your team. DataPallas Server is built for several people at once — give everyone their own account under Users.

On a trusted network, plain http:// works fine and is a normal way to run an internal tool. One thing worth knowing: browsers allow copy-to-clipboard only over https:// or on localhost, so the Copy buttons around the app go quiet for colleagues who reach the server by hostname over plain HTTP.

On the Internet. Publishing DataPallas Server to the Internet is a normal way to run it. The self-service document portals are meant to be reached over the Internet — that is the whole point of them: your customers, employees, or partners sign in and collect their own invoices or payslips from wherever they are.

Serve it over HTTPS when you do: on plain HTTP, sign-ins and sessions travel in the clear. Most people use the reverse proxy they already run, rather than configuring certificates in DataPallas itself.

Running a job from the command line — most people never need this. Reports, bursting, and scheduling all live in the web UI. Reach for the command line only when an external tool must trigger a run: cron, Windows Task Scheduler, a CI job, or your own script.

docker compose run --rm datapallas-server datapallas.sh job burst samples/burst/Payslips.pdf -c config/my-config.xml --testlist entry1

This works on Windows too, despite the .sh name — datapallas.sh runs inside the Linux container, and you are only typing a docker compose command on the host. Output goes to logs/datapallas.sh.log, not to your terminal.