Deploying Trains Overview

Trains deployment options

By default, Trains (the Trains Python Client Package) is setup to work with the Trains demo server ( The Trains demo server is open to anyone; however, it resets periodically and so data is deleted.

Trains provides the following deployment options:

  • Option 1: Our Trains demo server, only.

    Track, analyze, and compare experiments using the demo Trains Web-App.

    Our Trains demo server is periodically refreshed and data is deleted.

  • Option 2: Your own Trains Server.

    Maintain Trains in your own environment, using one of the available formats which include pre-built AWS EC2 AMI, pre-built Docker images for Linux, Mac OS X, and Windows 10, Kubernetes and Kubernetes Using Helm.

    1. Deploy your own Trains Server
    2. Configure Trains for your Trains Server
  • Option 3: Your own Trains Server and Trains Agent.

    Maintain Trains in your own environment and manage your experimentation using Trains Agent (workers and queues).

    1. Deploy your own Trains Server
    2. Configure Trains for your Trains Server
    3. Install Trains Agent
    4. Configure Trains Agent for your Trains Server.

Trains Server configurations

Trains Server supports two configurations:

  • Single IP (domain) with the following open ports:
    • Web application on port 8080.
    • API service on port 8008.
    • File storage service on port 8081.
  • Sub-Domain configuration with default http/s ports (80 or 443):
    • Web application on sub-domain: app.*.*.
    • API service on sub-domain: api.*.*.
    • File storage service on sub-domain: files.*.*.

Optionally, configure Trains Server for additional features, including: