Skip to content

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

    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:

    • Select HTTP as the traffic type
    • Set the internal port to 80

    Set Environment Variables

    Configure the following environment variables:

    VariableValue
    DB_HOSTYour MySQL/MariaDB hostname
    DB_NAMEYour database name
    DB_USERYour database username
    DB_PASSWORDYour database password
    DB_PORT3306

    Attach Persistent Volumes

    Add the following volumes:

    Mount PathRecommended SizePurpose
    /var/www/html/files5 GBEncrypted data and files
    /var/www/html/upload1 GBFile 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:

  1. Navigate to your Teampass URL
  2. Follow the installation wizard
  3. Configure database connection
  4. Create admin account
  5. Set encryption key (save securely!)

Creating Roles

Define access levels:

  1. Navigate to Administration > Roles
  2. Create roles (Admin, Manager, User, etc.)
  3. Assign folder permissions to each role
  4. Configure feature access per role

Creating Folders

Organize passwords:

  1. Navigate to Folders
  2. Create folder structure
  3. Set role permissions for each folder
  4. Add nested subfolders as needed

Adding Users

Create user accounts:

  1. Navigate to Administration > Users
  2. Create new users
  3. Assign roles
  4. 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

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.