Tomato – Docker

The containerized version allows users to run the Tomato environment on-premise, without external dependencies. The project can be found in the BitBucket repository:

Container repository

Architecture

The environment consists of three core elements running inside a single Docker container managed by Supervisor:

  • Frontend: A static web application served by Nginx on port 8080.
  • Backend Tomato: A Python/Flask service handling core logic on port 5000.
  • Backend LLM: A passthrough for LLM services on port 5001.

Prerequisites

Ensure you have the following installed on your machine:

  • Docker

Configuration

If you want to use AI features, create an .env file in the root directory and provide the following details:

# Enable LLM functionality
LLM=true

# OpenAI configuration
OPENAI_MODEL=gpt-4.1
OPENAI_KEY=<secret>

# Gemini configuration
GEMINI_MODEL=gemini-3-flash-preview
GEMINI_KEY=<secret>

# Claude configuration
CLAUDE_MODEL=claude-sommet-4-6
CLAUDE_KEY=<secret>

# Ollama configuration
OLLAMA_MODEL=ministral-3:8b
OLLAMA_ENDPOINT=<endpoint>

By default, the OpenAI LLM is used. To switch between configured LLMs, enable developer mode by adding env=dev to the local storage of the browser.

Deployment

To build and start the environment, run:

docker-compose up --build

The application will be available at: http://localhost:8080.