---
title: Quick Start for Docker & Images
description: Get started with the Timebase Historian and Collectors on Docker
---

[Skip to content](https://docs.timebase.flow-software.com/knowledge-base/quick-start-for-docker#main-content)

[More support](https://docs.timebase.flow-software.com/knowledge-base/kb-tickets/new?hsLang=en)

[![FlowEmailHeader](https://docs.timebase.flow-software.com/hs-fs/hubfs/FlowEmailHeader.png?width=120&height=33&name=FlowEmailHeader.png)](https://flow-software.com/)

Open main navigation

Close main navigation

- [More support](https://docs.timebase.flow-software.com/knowledge-base/kb-tickets/new)
- [Open a Support Ticket](https://docs.timebase.flow-software.com/knowledge-base/kb-tickets/new)

[Open a Support Ticket](https://docs.timebase.flow-software.com/knowledge-base/kb-tickets/new?hsLang=en)

 Search all Timebase documentation

- There are no suggestions because the search field is empty.

1. [Timebase Knowledge Base](https://docs.timebase.flow-software.com/knowledge-base?hsLang=en)
2. [Timebase Quick Start](https://docs.timebase.flow-software.com/knowledge-base/timebase-quick-start?hsLang=en)
3. [Start Here!](https://docs.timebase.flow-software.com/knowledge-base/timebase-quick-start?hsLang=en#start-here)

# 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](https://docs.timebase.flow-software.com/knowledge-base/quick-start-for-docker#InstallDocker)

[**Docker Compose**](https://docs.timebase.flow-software.com/knowledge-base/quick-start-for-docker#docker-compose)

**[Docker Run](https://docs.timebase.flow-software.com/knowledge-base/quick-start-for-docker#docker-run)**

[**Verify the Containers are Running**](https://docs.timebase.flow-software.com/knowledge-base/quick-start-for-docker#DockerRunning)

**[Access the UI Pages](https://docs.timebase.flow-software.com/knowledge-base/quick-start-for-docker#AdministratorUI)**

**[Create Logging Session](https://docs.timebase.flow-software.com/knowledge-base/quick-start-for-docker#LoggingSession)**

**[Verify Your Data](https://docs.timebase.flow-software.com/knowledge-base/quick-start-for-docker#VerifyData)**

**[Additional Information](https://docs.timebase.flow-software.com/knowledge-base/quick-start-for-docker#AdditionalInfo)**

[**Secure your System**](https://docs.timebase.flow-software.com/knowledge-base/quick-start-for-docker#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](https://www.docker.com/get-started)
- Visit Docker Hub and pull the Timebase images for Time Series Historian and Collector

Timebase images [Docker Hub](https://hub.docker.com/u/timebase)

 

---

### **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:     pulse:    image: timebase/pulse:latest    deploy:      resources:        limits:          cpus: "1"          memory: 2048m    hostname: pulse    container_name: pulse    ports:      - "4541:4541"      - "4542:4542"    restart: unless-stopped    volumes:      - pulse:/pulse    environment:      - Certificates=/pulse/certificates      - Settings=/pulse/settings      - Config=/pulse/config      - Data=/pulse/data      - Logs=/pulse/logs   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    stop_grace_period: 60s      volumes:      - historian:/historian    environment:      - Certificates=/pulse/certificates      - 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:      - Certificates=/pulse/certificates      - Settings=/explorer/settings      - Config=/explorer/config      - Data=/explorer/data      - Logs=/explorer/logs   simulator:    image: timebase/collector:latest    deploy:      resources:        limits:          cpus: "1"          memory: 4096m    hostname: simulator    container_name: simulator    ports:      - "4521:4521"      - "4522:4522"    restart: unless-stopped    volumes:     - simulator:/simulator    environment:      - Active=false      - Certificates=/pulse/certificates      - 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      - Certificates=/pulse/certificates      - 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      - Certificates=/pulse/certificates       - 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      - Certificates=/pulse/certificates       - 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](https://docs.docker.com/engine/storage/volumes/)[Volumes.](https://docs.docker.com/engine/storage/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 --pull always`

 

**NOTE: **One can add the --pull always flag to the docker compose command to ensure it always pulls the latest

---

### 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](https://docs.docker.com/engine/storage/volumes/)[Volumes.](https://docs.docker.com/engine/storage/volumes/)**<https://docs.docker.com/engine/storage/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:

[![](https://docs.timebase.flow-software.com/hs-fs/hubfs/Screenshot%202024-10-14%20at%2022-18-30-png.png?width=670&height=52&name=Screenshot%202024-10-14%20at%2022-18-30-png.png)](https://docs.timebase.flow-software.com/hubfs/Screenshot%202024-10-14%20at%2022-18-30-png.png?hsLang=en)

**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:

- Time Series Historian `http://<HistorianAddress>:4511`  
    - Learn more - [Managing Tags](https://docs.timebase.flow-software.com/en/knowledge-base/managing-and-deleting-tags?hsLang=en)
- Collector `http://<CollectorAddress>:4521` 
    - Learn more - [Using the Collector Config](https://docs.timebase.flow-software.com/en/knowledge-base/the-data-collector-config?hsLang=en)
- Explorer `http://<ExplorerAddress>:4531` 
    - See [Explorer Trending](https://docs.timebase.flow-software.com/en/knowledge-base/how-to-use-explorer-trending?hsLang=en)

 

---

### Create Logging Session

- [Configure your Collector](https://docs.timebase.flow-software.com/en/knowledge-base/the-data-collector-config?hsLang=en) to connect to your data source and modify the Collector settings.

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](https://docs.timebase.flow-software.com/en/knowledge-base/how-to-use-explorer-trending?hsLang=en) or the [Time Series Historian API](https://docs.timebase.flow-software.com/en/knowledge-base/timebase-historian-public-rest-api?hsLang=en) to access your datasets, tags and data being stored in the Historian

 

---

### Additional Information

- Change the default [Historian settings](https://docs.timebase.flow-software.com/en/knowledge-base/time-series-historian-application-settings?hsLang=en)

 

---

 

### Secure Your System

If required, use [Timebase Pulse](https://docs.timebase.flow-software.com/en/knowledge-base/pulse-introduction?hsLang=en) 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.](https://docs.timebase.flow-software.com/en/knowledge-base/kb-tickets/new?hsLang=en)**

- [Software Releases](https://docs.timebase.flow-software.com/knowledge-base/software-releases?hsLang=en)
- [Timebase Quick Start](https://docs.timebase.flow-software.com/knowledge-base/timebase-quick-start?hsLang=en#main-content)

    - [Start Here!](https://docs.timebase.flow-software.com/knowledge-base/timebase-quick-start?hsLang=en#start-here)
    - [System Requirements](https://docs.timebase.flow-software.com/knowledge-base/timebase-quick-start?hsLang=en#system-requirements)
    - [Advanced Topics](https://docs.timebase.flow-software.com/knowledge-base/timebase-quick-start?hsLang=en#advanced-topics)
- [Timebase Historian](https://docs.timebase.flow-software.com/knowledge-base/timebase-historian?hsLang=en)
- [Timebase Data Collectors](https://docs.timebase.flow-software.com/knowledge-base/timebase-data-collectors?hsLang=en)
- [Timebase Explorer](https://docs.timebase.flow-software.com/knowledge-base/timebase-explorer?hsLang=en)
- [Timebase Pulse](https://docs.timebase.flow-software.com/knowledge-base/timebase-pulse?hsLang=en)
- [Windows Services Starter](https://docs.timebase.flow-software.com/knowledge-base/windows-services-starter?hsLang=en)

Copyright © 2025, Flow Software