Deploying Teampass
Introduction
Teampass is a collaborative password manager designed for teams and organizations. It allows you to securely store, share, and manage passwords with fine-grained access control based on roles and groups.
Key highlights of Teampass:
- Team Sharing: Share passwords securely within teams
- Role-Based Access: Define access based on roles and groups
- Folder Organization: Organize passwords in nested folders
- Encryption: AES-256 encryption for stored passwords
- Audit Logs: Track all password access and changes
- Password Generator: Built-in secure password generator
- Favorites: Quick access to frequently used passwords
- API Access: REST API for integrations
- LDAP/AD Integration: Sync with directory services
- Two-Factor Authentication: Enhanced security with 2FA
This guide walks through deploying Teampass on Klutch.sh using Docker.
Why Deploy Teampass on Klutch.sh
Deploying Teampass on Klutch.sh provides several advantages:
Simplified Deployment: Klutch.sh automatically detects your Dockerfile and builds Teampass without complex orchestration.
Persistent Storage: Attach persistent volumes for your encrypted password database.
HTTPS by Default: Secure access with automatic SSL certificates.
GitHub Integration: Connect your configuration repository for automatic redeployments.
Prerequisites
Before deploying Teampass on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your Teampass configuration
- Basic familiarity with Docker and containerization concepts
- A MySQL or MariaDB database
Deploying Teampass on Klutch.sh
- Select HTTP as the traffic type
- Set the internal port to 80
Create Your Repository
Create a new GitHub repository with a Dockerfile for Teampass:
FROM teampass/teampass:latest
ENV DB_HOST=${DB_HOST}ENV DB_NAME=${DB_NAME}ENV DB_USER=${DB_USER}ENV DB_PASSWORD=${DB_PASSWORD}ENV DB_PORT=3306
EXPOSE 80
VOLUME ["/var/www/html/files", "/var/www/html/upload"]Push to GitHub
Initialize and push your repository to GitHub with your Dockerfile.
Create a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project.
Create a New App
Within your project, create a new app and connect your GitHub repository.
Configure HTTP Traffic
In the deployment settings:
Set Environment Variables
Configure the following environment variables:
| Variable | Value |
|---|---|
DB_HOST | Your MySQL/MariaDB hostname |
DB_NAME | Your database name |
DB_USER | Your database username |
DB_PASSWORD | Your database password |
DB_PORT | 3306 |
Attach Persistent Volumes
Add the following volumes:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/var/www/html/files | 5 GB | Encrypted data and files |
/var/www/html/upload | 1 GB | File attachments |
Deploy Your Application
Click Deploy to start the build process.
Access Teampass
Once deployment completes, run the installation wizard at your app URL.
Configuration
Installation Wizard
Complete the initial setup:
- Navigate to your Teampass URL
- Follow the installation wizard
- Configure database connection
- Create admin account
- Set encryption key (save securely!)
Creating Roles
Define access levels:
- Navigate to Administration > Roles
- Create roles (Admin, Manager, User, etc.)
- Assign folder permissions to each role
- Configure feature access per role
Creating Folders
Organize passwords:
- Navigate to Folders
- Create folder structure
- Set role permissions for each folder
- Add nested subfolders as needed
Adding Users
Create user accounts:
- Navigate to Administration > Users
- Create new users
- Assign roles
- Configure individual settings
Security Best Practices
- Strong Encryption Key: Use a complex encryption key and store it securely
- Enable 2FA: Require two-factor authentication for all users
- Regular Backups: Back up the database and encryption key
- Audit Logs: Regularly review access logs
- Role Separation: Use principle of least privilege
Additional Resources
- Teampass Official Website
- Teampass GitHub Repository
- Teampass Documentation
- Klutch.sh Persistent Volumes
- Klutch.sh Deployments
Conclusion
Deploying Teampass on Klutch.sh gives you a secure collaborative password manager with automatic builds, persistent storage, and secure HTTPS access. Share credentials safely across your organization with fine-grained access control.