FleetManager Server

Docker installation of FleetManager on your own server.

Prerequisites

  • Linux server with Docker and Docker Compose
  • Reverse proxy with HTTPS termination (e.g. Traefik, nginx)
  • At least 1 GB RAM and 10 GB disk space

1. Set up Docker Compose

Create a docker-compose.yml:

version: "3.8"

services:
  fleetmanager:
    image: brinkhausgmbh/fleetmanager:latest
    restart: unless-stopped
    ports:
      - "8000:8000"
    environment:
      - DATABASE_URL=postgresql://fleet:${DB_PASSWORD}@db:5432/fleetmanager
      - SECRET_KEY=${SECRET_KEY}
      - ALLOWED_ORIGINS=https://fleet.example.com
    depends_on:
      - db

  db:
    image: postgres:16-alpine
    restart: unless-stopped
    volumes:
      - pgdata:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=fleetmanager
      - POSTGRES_USER=fleet
      - POSTGRES_PASSWORD=${DB_PASSWORD}

volumes:
  pgdata:

2. Environment Variables

Create a .env file in the same directory:

# Database password
DB_PASSWORD=a-secure-password

# Secret key for JWT tokens
SECRET_KEY=a-long-random-string

# Optional: SMTP for password reset
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=fleet@example.com
SMTP_PASSWORD=smtp-password

Important: Protect the .env file with chmod 600 .env.

3. Start and Verify

# Start the stack
docker compose up -d

# Check logs
docker compose logs -f fleetmanager

# Health check
curl -sk https://fleet.example.com/health

Updating to a New Version

docker compose pull
docker compose up -d

Database migrations are run automatically on startup.

Docker Image

The official image is published on Docker Hub:

docker pull brinkhausgmbh/fleetmanager:latest

# Or a specific version:
docker pull brinkhausgmbh/fleetmanager:5.10.0

Available tags: :latest, :X.Y.Z, :X.Y, :X

Changelog

5.10.0 2026-07-01

Added

  • Structured status values: the status tree renders booleans as status lamps, localized timestamps, and sizes, durations and percentages with units
5.8.0 2026-06-03

Changed

  • Artifacts are attributed to the producing service: the "Artifacts" tab now appears only on the Log Collector instead of on every service of the machine
5.7.1 2026-06-02

Fixed

  • Concurrent first reports of the same instance (e.g. heartbeat + diagnostics) caused an HTTP 500 error during ingest
5.7.0 2026-06-02

Added

  • Fleet hierarchy: optional levels "Location" (e.g. "Hall 1") and "Group" (e.g. "Security audit") in the dashboard tree
  • Sort priorities: reporting software controls the ordering of groups and services
  • Compact display: with only a single group, the group node is omitted

Changed

  • Security module names switched to descriptive English names (e.g. sec-auth → authentication)
5.6.0 2026-06-02

Added

  • Log bundles: edges upload compressed log bundles via the Log Collector — chunked and resumable
  • New "Artifacts" tab in machine detail with per-bundle download
  • Automatic cleanup for artifacts: per-customer retention, default 14 days
5.5.0 2026-06-02

Added

  • Host metrics: edges continuously report CPU, RAM and disk usage via the Log Collector
  • New "Resources" view in machine detail with recent data points and min/avg/max summary
  • Per-customer retention configurable for the metrics time series

Changed

  • The Log Collector is exempt from the device license limit
5.4.0 2026-05-28

Added

  • Machines can be given a customer-specific name — edited via the pencil icon (manager/admin)
5.3.1 2026-05-04

Fixed

  • Database initialization: migration error on freshly set up databases fixed
5.2.1 2026-03-18

Fixed

  • Assigning an existing user to an additional customer caused a 500 error
5.2.0 2026-03-18

Added

  • English as second language: dashboard, customer management, whitelist, logs, settings, login and help texts
  • Language switcher in user menu and on login/registration pages
  • Backend error messages are translated automatically in the frontend
  • Date formats adapt to the selected language
5.1.1 2026-03-17

Added

  • Existing users can be assigned to an additional customer instead of being created anew
5.0.1 2026-03-17

Added

  • Customer switcher in the app bar: dropdown for switching between customers (with multiple assignments)
5.0.0 2026-03-17

Added

  • Multi-customer: a user can be assigned to multiple customers
  • Switch customer context without re-authentication
4.16.0 2026-03-17

Changed

  • Login by email instead of username (username still accepted)
  • Registration without username — derived from the email address
4.15.0 2026-03-17

Added

  • Email is a required field when creating users — each email address only once per user
4.14.3 2026-03-17

Fixed

  • Added missing display names for security modules (Cron/Timer, Hardening, Kernel, Services, Users)
4.14.2 2026-03-17

Added

  • Display names for security modules in dashboard and whitelist (e.g. sec-auth → "Authentication")
4.14.1 2026-03-17

Changed

  • Onboarding guide: "MQTT token" renamed to "security token", direct link to token creation
4.13.1 2026-03-11

Changed

  • Traffic light color now follows diagnostic severity only — whitelisted messages correctly result in a green light
4.13.0 2026-03-11

Added

  • Agent command system: modules can advertise available commands (e.g. "Renew baseline") in the dashboard
  • New "Commands" tab in instance detail dialog for triggering and tracking agent commands
  • Command queue: commands are automatically delivered on next agent contact
  • Confirmation dialog before command execution with i18n labels and icons

Fixed

  • Whitelist rules with square brackets in message patterns were not applied during ingest
4.12.2 2026-03-11

Added

  • Firewall rule changes shown as color-coded diff view in status log

Fixed

  • Status snapshots from security agents were discarded on receipt
4.11.0 2026-03-11

Added

  • Customer management: license column shows device usage and limit exceeded status
  • SSO to license portal: "Upgrade license" without re-authentication
4.10.0 2026-03-11

Added

  • OS detection: OS type and version visible in dashboard
  • Device usage display in license dialog with progress bar
  • Dashboard warning banner when device limit is exceeded
  • Soft-limit enforcement: after 14-day grace period, new devices are rejected when limit is exceeded
4.9.0 2026-03-10

Added

  • Delete own account: users can self-delete their account
  • Onboarding guide in dashboard: guided first-time setup with step-by-step instructions
  • Customer-specific rejection logs visible under Logs

Security

  • Password complexity rules: minimum 10 characters, upper/lowercase, digit or special character
4.8.0 2026-03-10

Added

  • Self-service registration: new customers can create an account directly from the login page
  • Per-customer licensing with license key validation against the license server
  • License management in dashboard: view, enter and change license key
  • Support contact information based on license tier
4.7.1 2026-03-08

Fixed

  • Dashboard: Help text icon only shown when help text is available
  • Dashboard: Negative cache prevents repeated API requests for missing help texts
4.7.0 2026-03-08

Added

  • Diagnostic help texts: New ingest endpoint and dashboard integration (tooltip + overlay)
  • Ingest API responds with HTTP 202 when help texts are missing
4.6.3 2026-03-06

Added

  • CHANGELOG.md and RELEASING.md for unified release process
  • CI: GitLab Release job with automatic changelog extraction
4.6.0 2026-03-05

Added

  • Versioned DB migrations

Fixed

  • View definition corrected
4.5.1 2026-03-05

Added

  • Traffic light: sticky alerts ignored when last batch is green
  • Version tooltip in frontend
4.4.0 2026-03-04

Added

  • Diagnostics whitelist: pattern-based event suppression
0.9.0 2026-03-04

Added

  • Security monitoring: alert stickiness, notifications, retention, log search
  • Password reset and 2FA (TOTP)
  • OpenAPI documentation with tags and response models
  • Status snapshots: full StatusEngine tree

Start for free — 5 devices included

Fleet monitoring and security compliance in under 10 minutes. No credit card required.

Want to talk to an expert?

Click the link and we'll have a quick chat.

Schedule a Call →