### Set Up Styleguide Source: https://www.passbolt.com/docs/contribute/developer/setup Commands to install dependencies and start the styleguide development server. ```bash cd passbolt_styleguide ``` ```bash npm install ``` ```bash npm run start ``` -------------------------------- ### Setup Passbolt Repository Source: https://www.passbolt.com/docs/hosting/upgrade/oraclelinux Download the installation script and verify its integrity before execution. ```bash wget "https://download.passbolt.com/pro/installer/passbolt-repo-setup.pro.sh" ``` ```bash wget https://github.com/passbolt/passbolt-dep-scripts/releases/latest/download/passbolt-pro-SHA512SUM.txt ``` ```bash sha512sum -c passbolt-pro-SHA512SUM.txt && sudo bash ./passbolt-repo-setup.pro.sh --passbolt-migrate || echo "Bad checksum. Aborting" && rm -f passbolt-repo-setup.pro.sh ``` -------------------------------- ### Download Passbolt Repo Setup Script Source: https://www.passbolt.com/docs/hosting/migrate/server/pro/debian Download the passbolt repository setup script for Pro installations. Ensure you have wget installed. ```bash wget "https://download.passbolt.com/pro/installer/passbolt-repo-setup.pro.sh" ``` -------------------------------- ### Example Registration Link Source: https://www.passbolt.com/docs/hosting/install/pro/docker This is an example of the link generated after registering the first admin user, which is used to finalize the user setup via a web browser. ```text https://my.domain.tld/setup/install/1eafab88-a17d-4ad8-97af-77a97f5ff552/f097be64-3703-41e2-8ea2-d59cbe1c15bc ``` -------------------------------- ### Launch Passbolt Configuration Tool Source: https://www.passbolt.com/docs/hosting/configure/https/ce/rpm-auto Execute the passbolt-configure tool to start the setup or reconfiguration process. This tool guides you through setting up MariaDB, Nginx, and TLS/SSL. ```bash sudo /usr/local/bin/passbolt-configure ``` -------------------------------- ### Install and Enable ntpd on RedHat Source: https://www.passbolt.com/docs/hosting/faq/how-to-set-up-ntp Commands to install the ntp package and configure the ntpd service to start at boot. ```bash yum install ntp ``` ```bash systemctl enable ntpd ``` ```bash systemctl status ntpd ``` -------------------------------- ### Verify and Execute Repo Setup Script Source: https://www.passbolt.com/docs/hosting/install/ce/raspberry Verifies the checksum of the downloaded installation script and then executes it using bash. If the checksum fails, it prints an error and removes the script. ```bash sha512sum -c passbolt-ce-SHA512SUM.txt && sudo bash ./passbolt-repo-setup.ce.sh || echo "Bad checksum. Aborting" && rm -f passbolt-repo-setup.ce.sh ``` -------------------------------- ### Download Passbolt Pro repository setup script Source: https://www.passbolt.com/docs/hosting/install/pro/sles Fetches the official installation script for the Passbolt Pro package repository. ```bash curl -LO https://download.passbolt.com/pro/installer/passbolt-repo-setup.pro.sh ``` -------------------------------- ### TLS/SSL Setup Option Source: https://www.passbolt.com/docs/hosting/configure/https/pro/rpm-auto Choose the method for setting up TLS/SSL. Options include manual setup, automatic Let's Encrypt setup, or no SSL. Automatic setup is recommended if you don't have your own certificate. ```bash ================== Setting up TLS (SSL)... ================== 1) manual 2) auto 3) none #? ``` -------------------------------- ### Verify and Execute Passbolt PRO Repository Setup Source: https://www.passbolt.com/docs/hosting/upgrade/ubuntu Verify the checksum of the installation script and then execute it to set up the Passbolt PRO repository. Aborts if the checksum is invalid. ```bash sha512sum -c passbolt-pro-SHA512SUM.txt && sudo bash ./passbolt-repo-setup.pro.sh --passbolt-migrate || echo "Bad checksum. Aborting" && rm -f passbolt-repo-setup.pro.sh ``` -------------------------------- ### Install and enable ntpd on RedHat Source: https://www.passbolt.com/docs/hosting/configure/ntp Check if ntpd is installed and install it if necessary. Then, enable it to start on system boot. Execute these commands as root. ```bash yum install ntp ``` ```bash systemctl enable ntpd ``` -------------------------------- ### Verify and Execute Passbolt Repository Setup Script Source: https://www.passbolt.com/docs/hosting/faq/how-to-install-passbolt-in-non-interactive-mode Verify the checksum of the downloaded installer script and then execute it to set up the passbolt package repository. If the checksum fails, the script aborts and is removed. ```bash sha512sum -c passbolt-ce-SHA512SUM.txt && sudo bash ./passbolt-repo-setup.ce.sh || echo "Bad checksum. Aborting" && rm -f passbolt-repo-setup.ce.sh ``` -------------------------------- ### Passbolt Ansible Playbook Output Example Source: https://www.passbolt.com/docs/hosting/install/pro/ansible Example output from the Passbolt Ansible playbook, showing the administrator registration URL. This URL is required to complete the setup in a web browser. ```text TASK [passbolt : Complete the administrator registration on a web browser] *************************************************** ok: [YOUR_SERVER_IP] => { "msg": "In order to complete your full admin registration, please navigate to https://pro.debian12.local/setup/start/089c209e-5518-4240-997d-b1c354e2a450/13067e51-fc61-49ce-b8de-54f5d3fad43e" } ``` -------------------------------- ### Launch Passbolt Configuration Tool Source: https://www.passbolt.com/docs/hosting/configure/https/pro/rpm-auto Execute this command to start the passbolt-configure tool for installation or reconfiguration. Ensure you have prepared your TLS certificate and private key beforehand. ```bash sudo /usr/local/bin/passbolt-configure ``` -------------------------------- ### Verify and Execute Repository Setup Script Source: https://www.passbolt.com/docs/hosting/migrate/package/ce/ubuntu Verify the checksum of the downloaded installation script and then execute it to set up the Passbolt CE package repository. The script includes migration logic. ```bash sha512sum -c passbolt-ce-SHA512SUM.txt && sudo bash ./passbolt-repo-setup.ce.sh --passbolt-migrate || echo "Bad checksum. Aborting" && rm -f passbolt-repo-setup.ce.sh ``` -------------------------------- ### Install Passbolt PRO Server Source: https://www.passbolt.com/docs/hosting/install/pro/opensuse Execute this command to install the Passbolt PRO server package on OpenSUSE. ```bash sudo zypper install passbolt-pro-server ``` -------------------------------- ### Download Passbolt Repository Setup Script Source: https://www.passbolt.com/docs/hosting/install/ce/rockylinux Use this command to download the script for setting up the Passbolt CE package repository. Ensure you have curl installed. ```bash curl -LO https://download.passbolt.com/ce/installer/passbolt-repo-setup.ce.sh ``` -------------------------------- ### Enable and Start PostgreSQL Service Source: https://www.passbolt.com/docs/hosting/configure/database/configure-database/postgres Enables the PostgreSQL service to start on boot and starts it immediately. This command requires sudo privileges. ```bash sudo systemctl enable --now postgresql ``` -------------------------------- ### Enable and Start PostgreSQL Service Source: https://www.passbolt.com/docs/hosting/configure/database/configure-database/postgres Starts the PostgreSQL service and ensures it runs on system boot. ```bash sudo systemctl enable --now postgresql ``` -------------------------------- ### TLS Setup Selection Source: https://www.passbolt.com/docs/hosting/configure/https/ce/rpm-manual Choose the TLS configuration method during the setup process. ```text ================== Setting up TLS (SSL)... ================== 1) manual 2) auto 3) none #? ``` -------------------------------- ### Preview Action Logs Purge Example Source: https://www.passbolt.com/docs/hosting/useful-commands Example command to preview the action logs purge with a 90-day retention period. ```bash ./bin/cake passbolt action_logs_purge -r 90 --dry-run ``` -------------------------------- ### Install PostgreSQL on RPM Source: https://www.passbolt.com/docs/hosting/configure/database/configure-database/postgres Installs the PostgreSQL server and contribution modules using dnf. ```bash sudo dnf install -y postgresql-server postgresql-contrib ``` -------------------------------- ### Download SHA512SUM for Installation Script Source: https://www.passbolt.com/docs/hosting/install/ce/debian Download the SHA512 checksum file for verifying the integrity of the installation script. This is a security measure. ```bash curl -LO https://github.com/passbolt/passbolt-dep-scripts/releases/latest/download/passbolt-ce-SHA512SUM.txt ``` -------------------------------- ### Install and use LDAP utilities Source: https://www.passbolt.com/docs/admin/user-provisioning/users-directory/directory-options Commands to install and execute ldapsearch for testing directory connectivity on Debian-based systems. ```bash sudo apt-get install ldap-utils ldapsearch -b'dc=example,dc=com' -x ``` -------------------------------- ### Set Up Browser Extension Source: https://www.passbolt.com/docs/contribute/developer/setup Commands to install dependencies and build the browser extension. ```bash cd passbolt_browser_extension ``` ```bash npm install ``` ```bash npm run build ``` -------------------------------- ### TLS/SSL Setup Option Source: https://www.passbolt.com/docs/hosting/configure/https/ce/rpm-auto Choose the method for setting up TLS (SSL). Options include manual configuration, automatic setup with Let's Encrypt, or no TLS. ```bash ================== Setting up TLS (SSL)... ================== 1) manual 2) auto 3) none #? ``` -------------------------------- ### MariaDB Installation Prompt Source: https://www.passbolt.com/docs/hosting/configure/https/pro/rpm-auto This prompt appears during the passbolt-configure process. Answer 'yes' to install a local MariaDB server or 'no' if you have an existing setup or prefer not to install it locally. ```bash ============================================================== Do you want to install a local mariadb server on this machine? ============================================================== 1) yes 2) no #? ``` -------------------------------- ### Passbolt User Registration Link Example Source: https://www.passbolt.com/docs/hosting/install/ce/helm-chart This is an example of the link generated after manually registering a user, which is used to finalize the user setup in the browser. ```text https://mydomain.com/setup/install/1eafab88-a17d-4ad8-97af-77a97f5ff552/f097be64-3703-41e2-8ea2-d59cbe1c15bc ``` -------------------------------- ### Setting Up GNUPGHOME Directory Source: https://www.passbolt.com/docs/admin/server-maintenance/passbolt-api-status Commands to create the GPG keyring directory and set appropriate ownership and permissions for the webserver user. ```bash sudo mkdir -p /var/lib/passbolt/.gnupg sudo chown -R www-data:www-data /var/lib/passbolt/.gnupg sudo chmod 700 /var/lib/passbolt/.gnupg ``` -------------------------------- ### Prepare certificate files Source: https://www.passbolt.com/docs/hosting/configure/https/ce/docker-manual Create a directory for certificates and move the certificate and key files into it with the required naming convention. ```bash mkdir certs mv /path/to/your/certificate.crt certs/cert.pem mv /path/to/your/certificate.key certs/key.pem ``` -------------------------------- ### Start and enable ntpd on Oracle Linux Source: https://www.passbolt.com/docs/hosting/configure/ntp After installing NTP, start the ntpd service and configure it to launch automatically on system boot. These commands are typically run as root. ```bash service ntpd start ``` ```bash chkconfig ntpd on ``` -------------------------------- ### Clone and set up the LDAP certificate bundler utility Source: https://www.passbolt.com/docs/hosting/configure/ldap/ldaps Clone the repository, make the setup script executable, and run it to set up a Python virtual environment. This isolates dependencies for the certificate retrieval process. ```bash # Clone the repository git clone https://github.com/passbolt/passbolt-ldap-certificate-bundler.git cd passbolt-ldap-certificate-bundler # Set up the environment chmod +x setup_python_env.sh ./setup_python_env.sh # Activate the virtual environment source venv/bin/activate ``` -------------------------------- ### Verify and Execute Repository Setup Script Source: https://www.passbolt.com/docs/hosting/migrate/package/pro/debian Verify the checksum of the setup script and then execute it to set up the Passbolt Pro package repository. Aborts if the checksum is invalid. ```bash sha512sum -c passbolt-pro-SHA512SUM.txt && sudo bash ./passbolt-repo-setup.pro.sh --passbolt-migrate || echo "Bad checksum. Aborting" && rm -f passbolt-repo-setup.pro.sh ``` -------------------------------- ### Reconfigure Passbolt Server Package Source: https://www.passbolt.com/docs/hosting/configure/https/pro/debian-auto Run this command to start the configuration process for Passbolt, especially for TLS/SSL setup. It is recommended to choose 'NO' for MariaDB/MySQL setup and proceed with Nginx configuration. ```bash sudo dpkg-reconfigure passbolt-pro-server ``` -------------------------------- ### Get Tags with Expired Keys Response Source: https://www.passbolt.com/docs/api Example JSON response for retrieving tags with expired keys. ```json { "header": { "id": "26c1344a-22ef-4c49-90a0-130a9c82a648", "status": "success", "servertime": 1740143504, "action": "c5969bdd-018f-552b-b20d-01636766a81f", "message": "The operation was successful.", "url": "/metadata/rotate-key/tags.json", "code": 200, "pagination": { "count": 0, "page": 1, "limit": 20 } }, "body": [ { "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88", "metadata": "-----BEGIN PGP MESSAGE-----", "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281", "metadata_key_type": "shared_key" } ] } ``` -------------------------------- ### Get JWKs Server Information Response Source: https://www.passbolt.com/docs/api Example JSON response containing JWKs server information. ```json { * "keys": [ * { * "kty": "RSA", * "alg": "RS256", * "use": "sig", * "e": "AQAB", * "n": "sP0CpKdQJF8KgPD9GOLiCssOhi8qHXp0TyyqkWNGWcZD3JTKuuWJhNn..." } ] } ``` -------------------------------- ### Verify and execute setup script Source: https://www.passbolt.com/docs/hosting/install/pro/debian Validates the script using the checksum and executes it if the verification succeeds. ```bash sha512sum -c passbolt-pro-SHA512SUM.txt && sudo bash ./passbolt-repo-setup.pro.sh || echo "Bad checksum. Aborting" && rm -f passbolt-repo-setup.pro.sh ``` -------------------------------- ### Registration Link Format Source: https://www.passbolt.com/docs/hosting/install/ce/docker Example of the URL generated by the registration command that must be accessed in a browser to complete the setup. ```text https://my.domain.tld/setup/install/1eafab88-a17d-4ad8-97af-77a97f5ff552/f097be64-3703-41e2-8ea2-d59cbe1c15bc ``` -------------------------------- ### Directory Sync Utility Commands Source: https://www.passbolt.com/docs/hosting/useful-commands Examples for testing synchronization, debugging configurations, and performing user-only syncs. ```bash # Test synchronisation (safe, no changes) ./bin/cake directory_sync test # Debug configuration ./bin/cake directory_sync debug # Synchronise users only ./bin/cake directory_sync users --persist ``` -------------------------------- ### Get Metadata Types Settings via cURL Source: https://www.passbolt.com/docs/api Example request to retrieve resource type settings using cURL. ```bash curl --request GET \ --url {{API_BASE_URL}}/metadata/types/settings.json \ --header 'authorization: Bearer {{JWT_TOKEN}}' ``` -------------------------------- ### Initialize Application Configuration Source: https://www.passbolt.com/docs/admin/server-maintenance/passbolt-api-status Copies the default application configuration file to the active configuration path. ```bash sudo cp /etc/passbolt/app.default.php /etc/passbolt/app.php ``` -------------------------------- ### Retrieve Resource List via API Source: https://www.passbolt.com/docs/development/resources/viewing Example JSON response from a GET request to /resources.json with contain parameters enabled. ```json { "header": { "id": "d5ba6e4f-f0de-459c-9a9e-e724eb4a97f3", "status": "success", "servertime": 1726143770, "action": "c506210f-7866-5691-8fc1-58772e8f49f1", "message": "The operation was successful.", "url": "/resources.json?contain%5Bresource-type%5D=1&contain%5Bsecret%5D=1", "code": 200, "pagination": { "count": 1, "page": 1, "limit": null } }, "body": [ { "personal": true, "id": "fc11887b-aaa6-4600-a460-e05e99c75bce", "name": "Nextcloud", "username": "", "uri": "https://nextcloud.com", "description": null, "deleted": false, "created": "2024-09-11T16:10:18+00:00", "modified": "2024-09-11T16:10:18+00:00", "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2", "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2", "resource_type_id": "a28a04cd-6f53-518a-967c-9963bf9cec51", "expired": null, "folder_parent_id": null, "resource_type": { "id": "a28a04cd-6f53-518a-967c-9963bf9cec51", "slug": "password-and-description", "name": "Password with description", "description": "A resource with the password and the description encrypted.", "definition": { "resource": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string", "maxLength": 255 }, "username": { "anyOf": [ { "type": "string", "maxLength": 255 }, { "type": "null" } ] }, "uri": { "anyOf": [ { "type": "string", "maxLength": 1024 }, { "type": "null" } ] } } }, "secret": { "type": "object", "required": [ "password" ], "properties": { "password": { "type": "string", "maxLength": 4096 }, "description": { "anyOf": [ { "type": "string", "maxLength": 10000 }, { "type": "null" } ] } } } }, "created": "2024-07-02T16:07:22+00:00", "modified": "2024-07-02T16:07:22+00:00" }, "secrets": [ { "id": "ab793b77-bd48-4a0f-b68a-9bc191eb0f58", "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2", "resource_id": "fc11887b-aaa6-4600-a460-e05e99c75bce", "data": "-----BEGIN PGP MESSAGE-----...", "created": "2024-09-11T16:10:19+00:00", "modified": "2024-09-11T16:10:19+00:00" } ] } ] } ``` -------------------------------- ### Set Up Passbolt API Manually Source: https://www.passbolt.com/docs/contribute/developer/setup Commands to manually install dependencies and initialize the database for the API. ```bash cd passbolt_api ``` ```bash composer install ``` ```bash bin/cake passbolt install ``` -------------------------------- ### Passbolt API Overview Source: https://www.passbolt.com/docs/development/getting-started Information on getting started with the Passbolt REST API, including prerequisites and general usage guidelines. ```APIDOC ## Getting Started with the Passbolt API The Passbolt API is a RESTful HTTPS API that is language and framework agnostic, allowing integration into existing workflows. ### Prerequisites To use the API, you will need: * A running Passbolt server instance. * A Passbolt user account for accessing protected data. * Basic understanding of public key cryptography. * An OpenPGP-compliant library for development. ### API Structure Endpoints are documented following the OpenAPI Specification. ### Response Format Responses are returned in an envelope containing `header` and `body` properties. The `header` includes metadata such as status, server time, and messages, while the `body` contains the actual payload. ``` -------------------------------- ### Keycloak OpenID Connect Configuration Example Source: https://www.passbolt.com/docs/admin/authentication/sso/keycloak Example settings for configuring Passbolt's Single Sign-On (SSO) to use Keycloak via OpenID Connect. Ensure the URL, Client ID, and Client Secret match your Keycloak setup. ```text * **URL** : https://keycloak.local:8443/realms/passbolt * **OpenID configuration path** : /.well-known/openid-configuration * **Scope** : openid profile email * **Client ID** : passbolt-client * **Client secret** : [your client secret from Keycloak] ``` -------------------------------- ### Verify and Execute Repository Setup Script Source: https://www.passbolt.com/docs/hosting/install/ce/rockylinux This command first verifies the checksum of the downloaded script and then executes it with sudo privileges. It aborts if the checksum is invalid. ```bash sha512sum -c passbolt-ce-SHA512SUM.txt && sudo bash ./passbolt-repo-setup.ce.sh || echo "Bad checksum. Aborting" && rm -f passbolt-repo-setup.ce.sh ``` -------------------------------- ### Reconfigure Passbolt Server Package Source: https://www.passbolt.com/docs/hosting/configure/https/ce/debian-auto Run this command to start the configuration process for Passbolt CE server, especially for TLS/SSL setup. ```bash sudo dpkg-reconfigure passbolt-ce-server ``` -------------------------------- ### MariaDB Installation Prompt Source: https://www.passbolt.com/docs/hosting/configure/https/ce/rpm-auto During reconfiguration, choose 'no' for MariaDB setup if you have an existing database server. This prompt appears when running the `passbolt-configure` tool. ```bash ============================================================== Do you want to install a local mariadb server on this machine? ============================================================== 1) yes 2) no #? ``` -------------------------------- ### Set Up Passbolt API with DDev Source: https://www.passbolt.com/docs/contribute/developer/setup Commands to initialize the API environment using DDev. ```bash cd passbolt_api ``` ```bash ddev start ``` ```bash ddev composer install ``` ```bash ddev exec bin/cake passbolt install ``` -------------------------------- ### Get Server Public PGP Key Response Source: https://www.passbolt.com/docs/api Example JSON response containing the server's public PGP key and fingerprint. ```json { * "header": { * "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f", * "status": "success", * "servertime": 1721207029, * "action": "4d0c0996-ce30-4bce-9918-9062ab35c542", * "message": "The operation was successful.", * "url": "/auth/verify.json", * "code": 200 }, * "body": { * "fingerprint": "5FB36DE5C8E69DD4DB185DF2BC9F2749E432CB59", * "keydata": "-----BEGIN PUBLIC KEY-----" } } ``` -------------------------------- ### Verify and execute installation script Source: https://www.passbolt.com/docs/hosting/install/pro/sles Validates the script using the checksum file and executes it with root privileges if the verification succeeds. ```bash sha512sum -c passbolt-pro-SHA512SUM.txt && sudo bash ./passbolt-repo-setup.pro.sh || echo "Bad checksum. Aborting" && rm -f passbolt-repo-setup.pro.sh ``` -------------------------------- ### Reconfigure Passbolt CE Server Source: https://www.passbolt.com/docs/hosting/configure/https/ce/digital-ocean-auto Execute this command to start the Passbolt CE server reconfiguration process. It is recommended to answer 'NO' to the MariaDB/MySQL setup question if you have an existing database. ```bash sudo dpkg-reconfigure passbolt-ce-server ``` -------------------------------- ### License Check Output Example Source: https://www.passbolt.com/docs/hosting/faq/how-to-update-my-subscription-key Displays the expected output format when a valid subscription key is detected. ```text /usr/share/php/passbolt/bin/cake passbolt license_check ____ __ ____ / __ \____ _____ ____/ /_ ____ / / /_ / /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/ / ____/ /_/ (__ |__ ) /_/ / /_/ / / / /_/ \__,_/____/____/_.___/\____/_/\__/ Open source password manager for teams --------------------------------------------------------------- Thanks for choosing Passbolt Pro Below are your subscription key details Customer id: xxxxxx Users limit: 150 (currently: 43) Valid from: May 6, 2025 Expires on: May 6, 2026 (in 385 days) ``` -------------------------------- ### Download Docker Compose File Source: https://www.passbolt.com/docs/hosting/install/pro/docker Use curl to download the example docker-compose-pro.yaml file and the corresponding SHA512 checksum file. Ensure you have Docker installed and a Linux user with sudo-less docker access. ```bash curl -LO https://download.passbolt.com/pro/docker/docker-compose-pro.yaml curl -LO https://github.com/passbolt/passbolt_docker/releases/latest/download/docker-compose-pro-SHA512SUM.txt ```