Appearance
Installation Guide (Ubuntu)
About 637 wordsAbout 2 min
2026-09-01
Requirements
- Memory: the Datafor server starts with a Java heap of 2 GB that can grow to 6 GB (
-Xms2048m -Xmx6144m). The built-in PostgreSQL database and the AI Agent run beside it, so plan at least 8 GB RAM. To change the heap, see Increasing Memory Limit for Datafor Server. - Java: bundled in
bi-server/java. You do not need to install Java. - Ports:
28080(web server),25432(built-in PostgreSQL),28081(AI Agent API) and38081(AI Agent MCP server). Open only28080in the firewall, or only the Nginx ports when Datafor runs behind Nginx. Keep25432,28081and38081closed to the network.
Step 1: Switch to the root user and install the required packages
sudo su
apt update
apt install -y unzip procps localesStep 2: Create the biadmin user
adduser biadminFollow the prompts to set a password and user details. adduser also creates a group named biadmin and makes it the user's primary group, so no separate group step is needed.
Step 3: Extract the installation package
Go to the directory that holds the installation package and extract it into /opt. Use the file name of the package you received, for example datafor-server-linux-<version>.zip:
unzip -o datafor-server-linux-<version>.zip -d /opt/The package creates /opt/bi-server.
Step 4: Set directory permissions
cd /opt/
chmod -R 700 bi-server
chown -R biadmin:biadmin bi-server
ls -al bi-serverInstallation is now complete.
Starting Datafor
Perform the following steps as the biadmin user.
Step 1: Switch to biadmin
su - biadminStep 2: Start Datafor
cd /opt/bi-server/
./start-server.shThe script starts the built-in PostgreSQL database and then the Datafor web server (Tomcat).
Step 3: Start the AI Agent
The AI Agent is in /opt/bi-server/ai-agent and runs the API on port 28081, a routing worker, dispatch workers (two by default) and the MCP server on port 38081. Start it with its launcher:
cd /opt/bi-server/ai-agent
./app-console.sh startstart starts only the components that are not running, so it is safe to run it again. On the first start the launcher creates instance-secrets.env and writes the shared secret into Datafor's settings. If it prints Set <agent-secret> in …, restart Datafor once (Step 4, then Step 2) so that Datafor reads the value. See AI Agent Shared Secret.
Check that the AI Agent is ready:
curl -i http://127.0.0.1:28081/ai/healthHTTP/1.1 200 means it is ready. 503 means it cannot work yet; the response body says whether the database, the schema migration or the worker queues are the cause. To set up the AI features, see How to Enable the AI Feature.
Step 4: Stop Datafor
cd /opt/bi-server/ai-agent
./app-console.sh stop
cd /opt/bi-server/
./stop-server.shStep 5: Check whether Datafor is running
ps -ef | grep [t]omcatIf the command prints a Java process whose arguments contain /opt/bi-server/tomcat, Datafor is running. No output means it is stopped.
Signing in to Datafor
Open http://<server-ip>:28080/ in a browser. The installation comes with two accounts:
- Administrator:
admin/password - Demo user:
demo/demo
Change the admin password right after the first sign-in (see Modify Password), and change the demo password or delete that user if you do not need it.
Updating the System
To install an update package, follow Upgrading Datafor.