Platform
- Apache 2.4 or Nginx
- MySQL 8 / MariaDB 10.7 or newer
- PHP 8.2 minimum — required since 3.2.1.1
- Tables must use InnoDB
- A cron entry or scheduler for background tasks
Docker, Docker Compose or a plain PHP install on a server you already run. Ten minutes either way, and nothing phones home.
Pull the Docker image, or drop the release archive into your web root.
docker pull teampass/teampass
Create an empty MySQL or MariaDB schema and a dedicated user. The installer creates the tables and writes the configuration.
Open /install in a browser, work through the checks, create
the first administrator, then delete the install directory.
Each step is covered in detail — including reverse proxy, TLS and background task setup — in the installation documentation.
Nothing exotic. If you can host a PHP application, you can host Teampass.
openssl, mbstring, bcmath, gmpiconv, xml, gd, curlmysqlildap — only if you authenticate against a directoryTeampass stores your organisation's credentials. Put it behind TLS, restrict it to the networks that need it, back the database up, and keep the recovery account somewhere you can still reach when everything else is down.
New installations use authenticated AES-256-GCM by default. Upgrades keep the old format until you enable it, then migrate secrets lazily on first read.
Pick a TOTP profile, or wire Teampass to your identity provider over OAuth2.
Folders and roles are where access control actually lives. Getting the tree right first saves rework later.
Bitwarden, LastPass, 1Password, KeePassXC, KeePass XML and CSV are all supported.
It will tell you how many of the credentials you just imported are weak, reused or overdue for rotation. Expect the number to be higher than you think.
It is the only account besides the owner that can decrypt personal folders. Treat it accordingly.
Installation problems are usually a missing PHP extension or a database that is not InnoDB. Both are covered in the docs — and the discussions are open if they are not.