docker pull passbolt/passbolt:latest
git clone https://github.com/passbolt/passbolt_docker
cd passbolt_docker
vim env/mysql.env
vim env/passbolt.env
docker-compose -f docker-compose.yml up -d
docker-compose ps
docker-compose 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
Another option manually run passbolt:
docker network create passbolt_network
docker volume create mariadb_passbolt_data
docker run -d --name mariadb --net passbolt_network \
--mount source=mariadb_passbolt_data,target=/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=<root_password> \
-e MYSQL_DATABASE=<mariadb_database> \
-e MYSQL_USER=<mariadb_user> \
-e MYSQL_PASSWORD=<mariadb_password> \
mariadb
docker run --name passbolt --net passbolt_network \
--mount type=bind,\
source=<host_path_to_gnupg_keys_dir>,\
target=/var/www/passbolt/config/gpg \
-p 443:443 \
-p 80:80 \
-e DATASOURCES_DEFAULT_HOST=mariadb \
-e DATASOURCES_DEFAULT_PASSWORD=<mariadb_password> \
-e DATASOURCES_DEFAULT_USERNAME=<mariadb_user> \
-e DATASOURCES_DEFAULT_DATABASE=<mariadb_database> \
-e APP_FULL_BASE_URL=https://mydomain.com \
passbolt/passbolt:latest
Persisting data in passbolt container:
/var/www/passbolt/webroot/img
/var/www/passbolt/config/gpg
/etc/ssl/certs/certificate.crt /etc/ssl/certs/certificate.key
Persisting the images directory could be to create a docker volume:
docker volume create passbolt_images
docker run --name passbolt --net passbolt_network \
--mount source=passbolt_images,\
target=/var/www/passbolt/webroot/img \
-p 443:443 \
-p 80:80 \
-e DATASOURCES_DEFAULT_HOST=mariadb \
-e DATASOURCES_DEFAULT_PASSWORD=<mariadb_password> \
-e DATASOURCES_DEFAULT_USERNAME=<mariadb_user> \
-e DATASOURCES_DEFAULT_DATABASE=<mariadb_database> \
-e APP_FULL_BASE_URL=https://mydomain.com \
passbolt/passbolt:latest