Multi-Server Deployment

This guide covers deploying ubTrace and vis-tree on different servers or network configurations.

Configuration Overview

ubTrace requires two URLs for vis-tree communication:

  1. UBTRACE_SERVER_SIDEBAR_APPS_CONFIG - Public URL for browser iframe access

  2. UBTRACE_SERVER_VIS_TREE_INTERNAL_HOST - Internal URL for server-to-server API calls (optional)

Deployment Scenarios

Docker Compose (Same Network)

When services run in the same Docker Compose network, use the Docker service name for internal communication:

services:
  ubtrace:
    environment:
      UBTRACE_SERVER_SIDEBAR_APPS_CONFIG: '{"traceability_tree": "http://localhost:7140"}'
      UBTRACE_SERVER_VIS_TREE_INTERNAL_HOST: http://vis-tree:7140

  vis-tree:
    ports:
      - "7140:7140"

Remote Server Deployment

When vis-tree runs on a remote server (e.g., 192.168.1.20), set only the public URL:

services:
  ubtrace:
    environment:
      UBTRACE_SERVER_SIDEBAR_APPS_CONFIG: '{"traceability_tree": "http://192.168.1.20:7140"}'
      UBTRACE_SERVER_AUTH_ISSUER_URL: http://192.168.1.30:7180

The internal host automatically falls back to the public URL when not explicitly set.

Troubleshooting

Error: Failed to fetch from vis-tree
  • Docker Compose: Ensure UBTRACE_SERVER_VIS_TREE_INTERNAL_HOST uses the Docker service name, not localhost

  • Remote servers: Verify the public URL is accessible from the ubTrace server

  • Check firewall rules and network connectivity between servers