Sign inSign up

astopy/passbolt

By astopy

Updated over 8 years ago

Fork for testing PRs. Don't deploy to production :)

Image
0

771

astopy/passbolt repository overview

       ____                  __          ____          .-.
      / __ \____  _____ ____/ /_  ____  / / /_    .--./ /      _.---.,
     / /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/     '-,  (__..-`       \
    / ____/ /_/ (__  |__  ) /_/ / /_/ / / /_          \                |
   /_/    \__,_/____/____/_,___/\____/_/\__/           `,.__.   ^___.-/
                                                         `-./ .'...--`
  The open source password manager for teams                `'
  (c) 2018 Passbolt SARL
  https://www.passbolt.com

Codacy Badge Docker Pulls GitHub release license Twitter Follow

What is passbolt?

Passbolt is a free and open source password manager that allows team members to store and share credentials securely.

Requirements:

  • rng-tools or haveged are required on host machine to speed up entropy generation on containers. This way gpg key creation on passbolt container will be faster.
  • mariadb/mysql >= 5.0

Usage

Users are encouraged to use official docker image from the docker hub.

Start passbolt instance

Passbolt requires mysql to be running. The following example use mysql official docker image with the default passbolt credentials.

$ docker run -e MYSQL_ROOT_PASSWORD=<root_password> \
             -e MYSQL_DATABASE=<mysql_database> \
             -e MYSQL_USER=<mysql_user> \
             -e MYSQL_PASSWORD=<mysql_password> \
             mysql

Then you can start passbolt just by providing the database container ip in the db_host environment variable.

$ docker run --name passbolt \
             -e DATASOURCES_DEFAULT_HOST=<mysql_container_host> \
             -e DATASOURCES_DEFAULT_PASSWORD=<mysql_password> \
             -e DATASOURCES_DEFAULT_USERNAME=<mysql_user> \
             -e DATASOURCES_DEFAULT_DATABASE=<mysql_database> \
             -e APP_FULL_BASE_URL=https://mydomain.com \
             passbolt/passbolt:develop-debian

Once the container is running create your first admin user:

$ docker exec passbolt su -m -c "/var/www/passbolt/bin/cake passbolt register_user -u [email protected] -f yourname -l surname -r admin" -s /bin/sh www-data

This registration command will return a single use url required to continue the web browser setup and finish the registration. Your passbolt instance should be available browsing https://yourdomain.com

Configure passbolt

Environment variables reference

Passbolt docker image provides several environment variables to configure different aspects:

Variable nameDescriptionDefault value
APP_FULL_BASE_URLPassbolt base urlfalse
DATASOURCES_DEFAULT_HOSTDatabase hostnamelocalhost
DATASOURCES_DEFAULT_PORTDatabase port3306
DATASOURCES_DEFAULT_USERNAMEDatabase username''
DATASOURCES_DEFAULT_PASSWORDDatabase password''
DATASOURCES_DEFAULT_DATABASEDatabase name''
EMAIL_TRANSPORT_DEFAULT_CLASS_NAMEEmail classnameSmtp
EMAIL_DEFAULT_FROMFrom email addressyou@localhost
EMAIL_DEFAULT_TRANSPORTSets transport methoddefault
EMAIL_TRANSPORT_DEFAULT_HOSTServer hostnamelocalhost
EMAIL_TRANSPORT_DEFAULT_PORTServer port25
EMAIL_TRANSPORT_DEFAULT_TIMEOUTTimeout30
EMAIL_TRANSPORT_DEFAULT_USERNAMEUsername for email server authnull
EMAIL_TRANSPORT_DEFAULT_PASSWORDPassword for email server authnull
EMAIL_TRANSPORT_DEFAULT_CLIENTClientnull
EMAIL_TRANSPORT_DEFAULT_TLSSet tlsnull
EMAIL_TRANSPORT_DEFAULT_URLSet urlnull
GNUPGHOMEpath to gnupghome directory/home/www-data/.gnupg
PASSBOLT_KEY_LENGTHGpg desired key length2048
PASSBOLT_SUBKEY_LENGTHGpg desired subkey length2048
PASSBOLT_KEY_NAMEKey owner namePassbolt default user
PASSBOLT_KEY_EMAILKey owner email address[email protected]
PASSBOLT_KEY_EXPIRATIONKey expiration date0, never expires
PASSBOLT_GPG_SERVER_KEY_FINGERPRINTGnuPG fingerprintnull
PASSBOLT_GPG_SERVER_KEY_PUBLICPath to GnuPG public server key/var/www/passbolt/config/gpg/serverkey.asc
PASSBOLT_GPG_SERVER_KEY_PRIVATEPath to GnuPG private server key/var/www/passbolt/config/gpg/serverkey_private.asc
PASSBOLT_REGISTRATION_PUBLICDefines if users can registerfalse
PASSBOLT_SSL_FORCERedirects http to httpstrue
PASSBOLT_SECURITY_SET_HEADERSSend CSP Headerstrue
SECURITY_SALTCakePHP security saltSALT

For more env variables supported please check default.php For more env variables supported please check app.default.php

Configuration files

What if you already have a set of gpg keys and custom configuration files for passbolt? It it possible to mount the desired configuration files as volumes.

  • /var/www/passbolt/config/app.php
  • /var/www/passbolt/config/passbolt.php
  • /var/www/passbolt/config/gpg/serverkey.asc
  • /var/www/passbolt/config/gpg/serverkey_private.asc
  • /var/www/passbolt/webroot/img/public/images
SSL certificate files

It is also possible to mount a ssl certificate on the following paths:

  • /etc/ssl/certs/certificate.crt
  • /etc/ssl/certs/certificate.key
docker-compose

Usage:

$ docker-compose up

Requirements:

  • rng-tools or haveged are required on host machine to speed up entropy generation on containers. This way gpg key creation on passbolt container will be faster.
  • mysql >= 5.6

Tag summary

Content type

Image

Digest

Size

204.5 MB

Last updated

over 8 years ago

docker pull astopy/passbolt