Testimonials
What our customers say about Team Password Manager

Team Password Manager Docker images

Current Team Password Manager version: 7.118.217

This document Team Password Manager Docker images, which you can use to build Team Password Manager Docker containers:

Location and naming

Team Password Manager Docker images are located on our Docker Hub page:

https://hub.docker.com/r/teampasswordmanager/teampasswordmanager/tags

Team Password Manager on Docker Hub

They're named like this, where "tag" corresponds to a Team Password Manager version (starting with v. 7.109.212):

teampasswordmanager/teampasswordmanager:tag

So, for instance, the Docker image for Team Password Manager version 7.118.217 is:

teampasswordmanager/teampasswordmanager:7.118.217

There's also this special image which corresponds to the latest Team Password Manager version available:

teampasswordmanager/teampasswordmanager:latest

For example, to download the Docker image with the latest version of Team Password Manager, you need to execute the following command at the command line:

docker pull teampasswordmanager/teampasswordmanager:latest

We also provide the source code of the image and accompanying files (see the List of Team Password Manager Docker images (tags) document), in case you want to change how the image works or create your own Team Password Manager Docker image.

Features

Team Password Manager Docker images have the following features:

  • They're based on Ubuntu Linux.
  • The web server is Apache.
  • Supported (at the time of release) version of PHP with mod_php.
  • Current (at the time of release) version of the Ioncube Loader.
  • ldaps support.
  • https support.
  • They expose port 80 for http and port 443 for https.
  • They create a volume that targets /var/www/html/ in the container's file system.
  • They have a simple system to be upgraded.

Note that in the List of Team Password Manager Docker images (tags) document we list the specific software versions installed in each version/tag.

Environment variables

The following environment variables need to be set to be able to create a container from a Team Password Manager Docker image:

Variable
Default value
Explanation

TPM_SERVER_TIMEZONE

Etc/UTC

Sets the server timezone.

You can find all the possible values here: https://manpages.ubuntu.com/manpages/bionic/man3/DateTime::TimeZone::Catalog.3pm.html

TPM_PHP_TIMEZONE

Etc/UTC

Sets the PHP timezone, which should be the same as the server timezone.

You can find all the possible values here: https://www.php.net/manual/en/timezones.php

Database connection parameters:

TPM_ENCRYPT_DB_CONFIG
TPM_CONFIG_HOSTNAME
TPM_CONFIG_PORT
TPM_CONFIG_USERNAME
TPM_CONFIG_PASSWORD
TPM_CONFIG_DATABASE

(none)

These are the variables that will be set (when the container is created) in Team Password Manager's config.php configuration file so that the software can connect to the database.

They're described here: Team Password Manager database parameters.

They don't have default values and they must all be set:

TPM_ENCRYPT_DB_CONFIG corresponds to ENCRYPT_DB_CONFIG
TPM_CONFIG_HOSTNAME corresponds to CONFIG_HOSTNAME
TPM_CONFIG_PORT corresponds to CONFIG_PORT
TPM_CONFIG_USERNAME corresponds to CONFIG_USERNAME
TPM_CONFIG_PASSWORD corresponds to CONFIG_PASSWORD
TPM_CONFIG_DATABASE corresponds to CONFIG_DATABASE

TPM_UPGRADE

0

Possible values: 0 (default) or 1.

If set to 1, the system will replace the Team Password Manager files (to upgrade the installation) if the container is created with an existing volume that contains a Team Password Manager installation. It replaces the index.php file and the wmm, system and css folders. Note that this will happen only the first time the container runs.

See also the next section How does a Team Password Manager Docker image work and the Upgrading with Docker document.

How does a Team Password Manager Docker image work

This section describes how a Team Password Manager Docker image works when creating a container.

Situation 1: no volume (or a named non-existent one) is provided

For example, when creating a container like this:

docker run -d -p 8080:80 -p 8443:443 --env-file=env_vars teampasswordmanager/teampasswordmanager:latest

or like this (where tpm_volume does not exist):

docker run -d -p 8080:80 -p 8443:443 --env-file=env_vars -v tpm_volume:/var/www/html teampasswordmanager/teampasswordmanager:latest

The following happens when you create a container this way:

  1. A volume is created in the host system targeting the /var/www/html/ folder in the container.
  2. The following folders are created in the /var/www/html/ folder in the container:
    site => Team Password Manager files
    logs => Apache logs
    ssl => Certificate files for https
  3. The Team Password Manager files are copied to /var/www/html/site/.
  4. /var/www/html/site/config.php (the Team Password Manager configuration file) is filled in with the database parameters from the environment variables.
  5. A self signed certificate is copied to /var/www/html/ssl/.
  6. Apache is started.

Situation 2: a volume with a Team Password Manager installation is provided

If you destroy a container created with a Team Password Manager Docker image, the volume targeting /var/www/html/ is preserved in the host system. You can then create another container using this volume to upgrade the installation or just use the same one.

For example, when creating a container like this (where tpm_volume is an existing volume with a Team Password Manager installation):

docker run -d -p 8080:80 -p 8443:443 --env-file=env_vars -v tpm_volume:/var/www/html teampasswordmanager/teampasswordmanager:latest

The following happens when you create a container this way:

  1. The system checks if there really is a Team Password Manager installation. If not, it copies the Team Password Manager files to /var/www/html/site/ and fills in config.php. The logs and ssl folders are verified too.
  2. If there's a Team Password Manager installation:
    - If TPM_UPGRADE is 1, the existing Team Password Manager files and folders are replaced with the ones in the image. Not all files and folders are replaced, only those that are specific to the new version, which are: index.php, wmm, system and css. This way the configuration in config.php is kept intact. This is how upgrades are done with the Docker image, a process that is explained in detail in the Upgrading with Docker document.
    - If TPM_UPGRADE is 0, no files are replaced. The installation is left as is.
  3. Apache is started.

Document changelog

Nov 18, 2020: Document created
Questions or Problems? Please contact our support department