Skip to main content
  1. Documentation/
  2. Getting Started/

Installation

Table of Contents

Prerequisites
#

Required
#

  • Python 3.11+ with pip
  • Operating System: Linux (Ubuntu 22.04+), macOS, or WSL2 on Windows
  • Disk: Minimum 500 MB for installation plus storage for engagement databases

Optional
#

  • Node.js 18+ and npm — required only for building the web UI from source
  • Docker — for containerized deployment
  • OpenSSL — for generating custom TLS certificates

Install from Source
#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# Clone the repository
git clone <repo-url> tantoc2
cd tantoc2

# Build all wheels (server, CLI, dev agent, web UI)
make all

# Create a venv and install
python3 -m venv .venv
source .venv/bin/activate
pip install dist/*.whl

This installs three console commands:

CommandDescription
tantoc2-serverStart the teamserver
tantoc2-cliStart the operator CLI
tantoc2-dev-agentRun the development agent

The web UI is served as a separate Flask app via tantoc2-web.

Docker Deployment
#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# Build the image
docker build -t tantoc2 .

# Run the container
docker run -d \
  --name tantoc2 \
  -p 8443:8443 \
  -v tantoc2-data:/app/data \
  tantoc2

# Check logs for default admin credentials
docker logs tantoc2

Web UI
#

The web UI is a separate package built with React and Vite:

1
2
3
4
5
# Already installed via pip install dist/*.whl above
tantoc2-web --api-url http://127.0.0.1:8443

# Custom host/port
tantoc2-web --host 0.0.0.0 --port 8080 --api-url http://10.0.0.1:8443

Open http://127.0.0.1:8080 in your browser.

Air-Gapped Installation
#

See the Offline Deployment guide for installing TantoC2 on machines without internet access.

First Run
#

Start the teamserver:

1
tantoc2-server

On first start, the server creates a default admin account and prints the credentials:

1
2
3
4
5
6
============================================================
  Default admin account created
  Username: admin
  Password: <random-password>
  ** Change this password after first login **
============================================================
Save this password — you need it for your first login. Change it immediately after first use.

Development Setup
#

For contributors working on TantoC2 source:

1
2
3
4
5
git clone <repo-url> tantoc2
cd tantoc2
python3 -m venv .venv
source .venv/bin/activate
make dev   # pip install -e ".[dev]"

This installs the server in editable mode with all development dependencies (pytest, mypy, ruff).

Next Steps
#