Requirements

What you need before installing Tether. If you're using Docker, the list is very short. Bare-metal installs require a bit more.

Docker is the easiest path

If you use Docker, you only need Docker itself — MariaDB, Python, and all dependencies are bundled in the image. Skip to the Docker installation guide.

Docker requirements

RequirementMinimum versionNotes
Docker Engine24.0+Install Docker
Docker Composev2 (Compose V2)Included with Docker Desktop. On Linux, install with apt install docker-compose-v2
RAM512 MB1 GB+ recommended for production
Disk2 GB10 GB+ recommended to leave room for database growth
Compose V2 vs V1

Tether's documentation uses docker compose (V2, with a space). If you have the older docker-compose (V1, with a hyphen) installed, commands may differ slightly. We strongly recommend upgrading to V2.

Bare-metal requirements

RequirementVersionNotes
Operating systemUbuntu 22.04+ or Debian 12+Other Linuxes work but commands may differ
Python3.10 or newerCheck with python3 --version
pip22.0+Installed with Python. Update with pip install --upgrade pip
gitAny recentRequired to clone the repo and receive updates
DatabaseMariaDB 10.6+ / MySQL 8+ / PostgreSQL 14+Or leave unset to use SQLite (not recommended for production)
RAM512 MB1 GB+ recommended
Disk5 GBTo accommodate database, logs, and Python packages

Python packages

Tether's Python dependencies are listed in requirements.txt and installed automatically by install.sh or pip install -r requirements.txt. You do not need to install them manually. For reference, the key packages are:

PackagePurpose
fastapiWeb framework
uvicornASGI server
sqlalchemyORM and database abstraction
pymysqlMariaDB / MySQL driver
psycopg2-binaryPostgreSQL driver
bcryptPassword hashing
python-joseJWT tokens
qrcodeQR code generation
pillowImage handling (QR PNG output)
python-slugifyTenant slug generation

Database support

DatabaseRecommended versionDriverNotes
MariaDB10.6–11.xpymysqlDefault and recommended. Same as Snipe-IT.
MySQL8.0+pymysqlWorks, but MariaDB is preferred
AWS Aurora (MySQL-compat)AnypymysqlFully compatible with the pymysql driver
PostgreSQL14+psycopg2-binaryGood for AWS RDS or enterprise Postgres environments
SQLite3.35+Built into PythonZero-config fallback. Not recommended for production with multiple concurrent users.

Browser support

Tether's frontend is a modern ES2020+ single-page application. Supported browsers:

Internet Explorer is not supported and will never be.

Network requirements

For subdomain routing to work (e.g. acme.atechsolutions.org), your DNS provider must support wildcard A records (*.yourdomain.com). The vast majority of registrars and DNS providers support this. See DNS & subdomains for setup instructions.

For HTTPS on subdomains, you need a wildcard SSL certificate. This requires a DNS-01 challenge, which most DNS providers support via Certbot plugins. See Reverse proxy & HTTPS.

Last updated: May 2026