Quick Start for Docker & Images

The following guide will walk you through the necessary steps to install, configure, and run the Data Collectors and the Time Series Historian for Docker.

Install Docker and Download Images

Docker Compose

Docker Run

Verify the Containers are Running

Access the UI Pages

Create Logging Session

Verify Your Data

Additional Information

Secure your System

 


Install Docker and Download Images

  • If you don't have Docker installed, download and install it from the Docker website: Docker Installation Guide
  • Visit Docker Hub and pull the Timebase images for Time Series Historian and Collector

Timebase images Docker Hub

 


Docker Compose

The quickest way to get started is to edit and run the following Docker Compose file. It will create and run two containers, one for the Time Series Historian and one for a Collector as well as create Volumes (backups) of the most necessary files related to data, logs, settings, and configuration.

  • Create a "docker-compose.yml" file with the following contents:

Windows/Linux:

name: timebase
 
services:

  historian:
  image: timebase/historian:latest
    deploy:
      resources:
        limits:
          cpus: "1"
          memory: 4096m
    hostname: historian
    container_name: historian
    ports:
      - "4511:4511"
      - "4512:4512"
    restart: unless-stopped
    volumes:
      - historian:/historian
    environment:
      - Settings=/historian/settings
      - Data=/historian/data
      - Logs=/historian/logs

  explorer:
  image: timebase/explorer:latest
    deploy:
      resources:
        limits:
          cpus: "1"
          memory: 2048m
    hostname: explorer
    container_name: explorer
    ports:
      - "4531:4531"
      - "4532:4532"
    restart: unless-stopped
    volumes:
      - explorer:/explorer
    environment:
      - Settings=/explorer/settings
      - Config=/explorer/config
      - Data=/explorer/data
      - Logs=/explorer/logs
 
  simulator:
  image: timebase/collector:latest
    deploy:
      resources:
        limits:
          cpus: "1"
          memory: 2048m
    hostname: simulator
    container_name: simulator
    ports:
      - "4521:4521"
      - "4522:4522"
    restart: unless-stopped
    volumes:
     - simulator:/simulator
    environment:
      - Active=false
      - Settings=/simulator/settings
      - Config=/simulator/config
      - Data=/simulator/data
      - Logs=/simulator/logs

opcua:
  image: timebase/collector:latest
    deploy:
      resources:
        limits:
          cpus: "1"
          memory: 2048m
  hostname: opcua
  container_name: opcua
    ports:
    - "4523:4521"
    - "4524:4522"
    restart: unless-stopped
    volumes:
   - opcua:/opcua
    environment:
      - Active=false
    - Settings=/opcua/settings
    - Config=/opcua/config
    - Data=/opcua/data
    - Logs=/opcua/logs

mqtt:
  image: timebase/collector:latest
    deploy:
      resources:
        limits:
          cpus: "1"
          memory: 2048m
hostname: mqtt
container_name: mqtt
    ports:
    - "4525:4521"
    - "4526:4522"
    restart: unless-stopped
    volumes:
  - mqtt:/mqtt
    environment:
      - Active=false
  - Settings=/mqtt/settings
  - Config=/mqtt/config
  - Data=/mqtt/data
  - Logs=/mqtt/logs

 sparkplugb:
  image: timebase/collector:latest
    deploy:
      resources:
        limits:
          cpus: "1"
          memory: 2048m
hostname: sparkplugb
container_name: sparkplugb
    ports:
  - "4527:4521"
  - "4528:4522"
    restart: unless-stopped
    volumes:
- sparkplugb:/sparkplugb
    environment:
      - Active=false
- Settings=/sparkplugb/settings
- Config=/sparkplugb/config
- Data=/sparkplugb/data
- Logs=/sparkplugb/logs
 
volumes:
  pulse:
  historian:
  explorer:
  simulator:
opcua:
mqtt:
sparkplugb:

NOTE: There are multiple Volumes. You must list each respective Volume at the end of your .yml file in order to create the correct Volumes. Learn more about Docker Volumes.

  • Through a Command Prompt, or Terminal, browse to the location of your "docker-compose.yml" file and run the following command:

docker compose -f docker-compose.yml up --detach

 

Docker Run

  • Alternatively, using Docker Run, you can start your containers individually as follows:

docker run -d --name=historian -p 4511:4511 timebase/historian

docker run -d --name=collector -p 4521:4521 timebase/collector

docker run -d --name=explorer -p 4531:4531 timebase/explorer

⚠️ You will need bind mounts if you decide to use this Docker Run method. The Docker Run commands will not setup volumes externally to the containers. Learn more about Docker Volumes.


Verify the Containers are Running

  • To confirm both the Time Series Historian and Collector containers are running, execute the following command:
docker ps
  • You should see the containers named historian, collector, and explorer listed as follows:

NOTE: A Collector will only connect to one data source (e.g. MQTT Broker). To connect your Time Series Historian to multiple data sources, you can create additional Collector containers and configure them accordingly.

⚠️ If you delete the containers without volumes, your data will be lost. Be sure to backup your files before deleting.


Access the UI Pages

Once running, the Time Series Historian and each Collector instance have their own Administration pages:

 

Create Logging Session

By Default, the Collector will "spin up" the Simulator Plugin and Simulate the "Juice Factory" Filling process as a start. You can change your Data Source Type to OPC UA, MQTT, or Sparkplug.

 


Verify Your Data

Use Explorer Trending or the Time Series Historian API to access your datasets, tags and data being stored in the Historian

 


Additional Information

 


 

Secure Your System

If required, use Timebase Pulse to secure your Historian, Collectors, and Explorer.

 


 

Support Assistance

Struggling? We are here to help and will support you. Please log your ticket and we will respond via email.

Submit your ticket.