TeamPass is a collaborative, on-premise password manager designed for teams. Store and share passwords securely with fine-grained access control, LDAP integration, and comprehensive audit trails.
# Create a directory for TeamPass
mkdir teampass && cd teampass
# Download docker-compose.yml and .env.example
curl -O https://raw.githubusercontent.com/nilsteampassnet/TeamPass/master/docker/docker-compose/docker-compose.yml
curl -O https://raw.githubusercontent.com/nilsteampassnet/TeamPass/master/docker/docker-compose/.env.example
# Configure
cp .env.example .env
nano .env # Set DB_PASSWORD and MARIADB_ROOT_PASSWORD
# Start TeamPass
docker-compose up -d
# Access at http://localhost:8080latest- Latest stable release3.1.5.2,3.1.5,3.1,3- Specific versionsdevelop- Development branch (not for production)
| Variable | Default | Description |
|---|---|---|
DB_HOST |
db |
Database hostname |
DB_NAME |
teampass |
Database name |
DB_USER |
teampass |
Database user |
DB_PASSWORD |
required | Database password |
INSTALL_MODE |
manual |
Installation mode: manual or auto |
TEAMPASS_URL |
http://localhost |
Public URL of TeamPass |
PHP_MEMORY_LIMIT |
512M |
PHP memory limit |
| Volume | Purpose |
|---|---|
/var/www/html/sk |
Encryption saltkey (critical!) |
/var/www/html/files |
Uploaded files |
/var/www/html/upload |
Temporary uploads |
version: "3.8"
services:
teampass:
image: teampass/teampass:latest
ports:
- "8080:80"
environment:
DB_HOST: db
DB_PASSWORD: YourSecurePassword
volumes:
- teampass-sk:/var/www/html/sk
- teampass-files:/var/www/html/files
depends_on:
- db
db:
image: mariadb:11.2
environment:
MARIADB_ROOT_PASSWORD: RootPassword
MARIADB_DATABASE: teampass
MARIADB_USER: teampass
MARIADB_PASSWORD: YourSecurePassword
volumes:
- teampass-db:/var/lib/mysql
volumes:
teampass-sk:
teampass-files:
teampass-db:version: "3.8"
services:
nginx-proxy:
image: nginxproxy/nginx-proxy:alpine
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- certs:/etc/nginx/certs
letsencrypt:
image: nginxproxy/acme-companion
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- certs:/etc/nginx/certs
environment:
DEFAULT_EMAIL: admin@example.com
teampass:
image: teampass/teampass:latest
environment:
VIRTUAL_HOST: teampass.example.com
LETSENCRYPT_HOST: teampass.example.com
LETSENCRYPT_EMAIL: admin@example.com
DB_HOST: db
DB_PASSWORD: YourSecurePassword
volumes:
- teampass-sk:/var/www/html/sk
- teampass-files:/var/www/html/files
db:
image: mariadb:11.2
environment:
MARIADB_ROOT_PASSWORD: RootPassword
MARIADB_DATABASE: teampass
MARIADB_USER: teampass
MARIADB_PASSWORD: YourSecurePassword
volumes:
- teampass-db:/var/lib/mysql
volumes:
teampass-sk:
teampass-files:
teampass-db:
certs:- Encryption: All passwords encrypted with Defuse PHP Encryption
- Saltkey: Unique per installation, stored in secure volume
- 2FA: Supports TOTP, Duo, and Yubico
- LDAP/AD: Native integration for enterprise authentication
- Audit Logs: Complete tracking of all password access
- HTTPS: SSL/TLS support via reverse proxy
The container includes a health check endpoint:
docker inspect teampass-app | grep -A 10 Health
curl http://localhost:8080/healthdocker-compose exec db mariadb-dump -u root -p teampass > backup.sqldocker run --rm \
-v teampass-sk:/sk:ro \
-v teampass-files:/files:ro \
-v $(pwd):/backup \
alpine tar czf /backup/teampass-files.tar.gz /sk /filesdocker-compose pull
docker-compose down
docker-compose up -d- Full Docker Guide: DOCKER.md
- Migration Guide: DOCKER-MIGRATION.md
- Official Docs: https://teampass.readthedocs.io
- Website: https://teampass.net
- Base: Alpine Linux 3.19
- Web Server: Nginx
- PHP: 8.3-FPM with OPcache
- Process Manager: Supervisord
- Database: MariaDB 11.2+ (separate container)
- 🔐 Secure password storage with encryption
- 👥 Role-based access control (RBAC)
- 📁 Hierarchical folder organization
- 🔍 Advanced search and filtering
- 📊 Comprehensive audit logs
- 🔗 LDAP/Active Directory integration
- 📱 Two-factor authentication (2FA)
- 🌍 Multi-language support (19 languages)
- 📤 Import/Export capabilities
- 🔔 Email notifications
- 📅 Password expiration policies
- 🔄 API for integrations
- GitHub Issues: https://github.com/nilsteampassnet/TeamPass/issues
- Community: https://www.reddit.com/r/TeamPass/
- Email: nils@teampass.net
TeamPass is licensed under GNU GPL v3.0
Developed and maintained by Nils Laumaillé and contributors.
DB_PASSWORD and MARIADB_ROOT_PASSWORD. Never use default values in production!
