Quick start guide
This guide will help you get XTM Composer up and running quickly with OpenCTI.
Prerequisites
Before starting, ensure you have: - XTM Composer installed (see Installation Guide) - Access to an OpenCTI instance - OpenCTI API token - RSA private key (4096-bit)
Step 1: Generate RSA private key
Generate a 4096-bit RSA private key for authentication:
Step 2: Basic configuration
Create a configuration file based on your environment.
Option A: Using Configuration File
Create config/production.yaml:
manager:
  id: "my-manager-001"
  name: "Production Manager"
  credentials_key_filepath: "/path/to/private_key_4096.pem"
  logger:
    level: info
    format: json
opencti:
  enable: true
  url: "https://opencti.example.com"
  token: "your-opencti-api-token"
  daemon:
    selector: kubernetes  # or 'docker' or 'portainer'
Option B: Using Environment Variables
Set configuration through environment variables:
export COMPOSER_ENV=production
export MANAGER__ID="my-manager-001"
export MANAGER__CREDENTIALS_KEY_FILEPATH="/path/to/private_key_4096.pem"
export OPENCTI__URL="https://opencti.example.com"
export OPENCTI__TOKEN="your-opencti-api-token"
export OPENCTI__DAEMON__SELECTOR="kubernetes"
Step 3: Choose your orchestration platform
For Kubernetes
For Docker
Note: Docker mode requires socket access:
For Portainer
opencti:
  daemon:
    selector: portainer
    portainer:
      api: "https://portainer.example.com:9443"
      api_key: "your-portainer-api-key"
      env_id: "3"
      env_type: "docker"
Step 4: Run XTM Composer
Using Docker
docker run -d \
  --name xtm-composer \
  -v $(pwd)/config:/config \
  -v $(pwd)/private_key_4096.pem:/keys/private_key.pem \
  -e COMPOSER_ENV=production \
  filigran/xtm-composer:latest
Using Binary
Step 5: Verify connection
Check the logs to verify XTM Composer is connected to OpenCTI:
You should see messages like:
INFO  Starting XTM Composer
INFO  Connecting to OpenCTI at https://opencti.example.com
INFO  Successfully connected to OpenCTI
INFO  Manager registered with ID: my-manager-001
Step 6: Verify in OpenCTI
- Log into your OpenCTI instance
 - Navigate to Data > Connectors
 - You should see your XTM Composer manager listed
 - Connectors managed by XTM Composer will show the manager ID
 
Common configuration examples
Development environment
manager:
  id: "dev-manager"
  credentials_key_filepath: "./private_key_4096.pem"
  logger:
    level: debug
    format: pretty
    console: true
  debug:
    show_env_vars: true
opencti:
  enable: true
  url: "http://localhost:4000"
  token: "development-token"
  daemon:
    selector: docker
Production with high availability
manager:
  id: "prod-manager-ha"
  execute_schedule: 5      # Check every 5 seconds
  ping_alive_schedule: 30  # Ping every 30 seconds
  logger:
    level: warn
    format: json
    directory: true
    console: false
opencti:
  enable: true
  url: "https://opencti.prod.example.com"
  token: "${OPENCTI_TOKEN}"  # Use environment variable
  logs_schedule: 5
  daemon:
    selector: kubernetes
    kubernetes:
      image_pull_policy: Always
Troubleshooting
For common issues and their solutions, see the Troubleshooting Guide.
Next steps
- Review the complete Configuration Reference
 - Set up monitoring and alerting
 - Configure connector-specific settings
 - Implement security best practices
 - Join the OpenCTI community for support