Skip to content
Documentation Prelude Topology Engine 1.0.0

Docker

Run Prelude TE under Docker — the recommended single-host deployment.

Prelude TE ships as a single OCI image. Docker is the simplest way to run it on a single host. For the end-to-end walkthrough — image, storage, TLS, first login — see Getting Started / Installation.

This page focuses on what changes when you go beyond the quick-start setup.

Compose file template

services:
  prelude-te:
    image: registry.arolo-solutions.com/prelude/prelude-te:1.0.0
    container_name: prelude-te
    restart: unless-stopped
    ports:
      - "443:4040"
      - "179:179"
    environment:
      TE_TIMEZONE: Europe/Paris
      TE_LOG_LEVEL: INFO
      TE_TLS_CERT: /app/storage/certs/te.crt
      TE_TLS_KEY: /app/storage/certs/te.key
    volumes:
      - ./storage:/app/storage

See Getting Started / Configuration for the full list of environment variables.

Persistent storage

The single mount that matters is /app/storage. It holds:

  • The SQLite database with peers, outputs, users, tokens, and settings.
  • TLS certificates (auto-generated or user-supplied).
  • Per-module log files under logs/.
  • License artifacts.

Treat this directory like the data directory of a database server: back it up as a unit, and never share it between two running instances.

Networking

  • Port 4040 (inside the container) carries the REST API, web UI, and SSE streams. For a standalone deployment, publish it on 443 — the standard HTTPS port — as in the template above, on whatever address your operators reach the engine from.
  • Port 179 is the BGP port. The Compose template above publishes it so inbound BGP-LS sessions from routers reach the engine (required in Passive mode). Outbound BGP/TCP on 179 must also be allowed from the engine to each BGP-LS peer when the engine initiates the session.
  • Outbound NATS on port 4222 (or whatever your NATS server uses) is required when you configure NATS outputs.

Resource sizing

The defaults of 2 vCPU / 2 GB RAM are enough for small networks (a few peers, a few hundred nodes). Scale up linearly with the number of peers and the size of the topology. A single host typically handles a single IGP scope with redundant peers comfortably.

Health and supervision

Docker's --restart unless-stopped policy plus a Compose healthcheck targeted at /api/topology/stats is a reasonable baseline. See Monitoring / Health for the recommended probes.

Filtering by: