{"id":3147,"date":"2023-01-06T10:04:09","date_gmt":"2023-01-06T15:04:09","guid":{"rendered":"https:\/\/dft.wiki\/?p=3147"},"modified":"2026-06-08T17:18:23","modified_gmt":"2026-06-08T21:18:23","slug":"deploying-a-self-hosted-open-source-password-manager-with-passbolt","status":"publish","type":"post","link":"https:\/\/dft.wiki\/?p=3147","title":{"rendered":"Deploying a Self-Hosted Open-Source Password Manager with Passbolt"},"content":{"rendered":"<p><strong>Passbolt CE<\/strong> (Community Edition) is an enterprise-grade, open-source [<a href=\"https:\/\/github.com\/orgs\/passbolt\">Link<\/a>] multi-platform [<a href=\"https:\/\/help.passbolt.com\/hosting\/install\">Link<\/a>] password manager.<\/p>\n<p>It is a great alternative to <strong>BitWarden<\/strong> [<a href=\"https:\/\/github.com\/bitwarden\/server\">Link<\/a>], another open-source password manager that is quite complicated to install from source code. There is also <strong>VaultWarden<\/strong> [<a href=\"https:\/\/github.com\/dani-garcia\/vaultwarden\">Link<\/a>], an unofficial Bitwarden server implementation written in Rust that is fully compatible with all Bitwarden mobile apps and browser extensions.<\/p>\n<p>Recommendations<\/p>\n<ul>\n<li>Minimise its exposure to the internet to the bare minimum, and only if needed,<\/li>\n<li>Prefer to allow access exclusively via local network or VPN,<\/li>\n<li>Always enable SSL\/TLS (HTTPS),<\/li>\n<li>Don&#8217;t forget to set up the SMTP server for password recovery.<\/li>\n<\/ul>\n<hr \/>\n<p><strong>DOCKER INSTALLATION SCRIPT<\/strong><\/p>\n<pre>sudo su\r\nwget \"https:\/\/download.passbolt.com\/ce\/docker\/docker-compose-ce.yaml\"\r\ndocker-compose -f docker-compose-ce.yaml up -d<\/pre>\n<p>Creating the first Admin user:<\/p>\n<pre>docker-compose -f docker-compose-ce.yaml exec passbolt su -m -c \"\/usr\/share\/php\/passbolt\/bin\/cake passbolt register_user -u <strong>username@example.com<\/strong> -f <strong>myFirstName<\/strong> -l <strong>myLastName<\/strong> -r <strong>admin<\/strong>\" -s \/bin\/sh www-data<\/pre>\n<p>This will generate a link that must be copied into the browser to finalise the installation.<\/p>\n<hr \/>\n<p><strong>INSTALLATION SCRIPT FOR<\/strong><\/p>\n<p>UBUNTU \/ DEBIAN \/ RPI<\/p>\n<pre>wget \"https:\/\/download.passbolt.com\/ce\/installer\/passbolt-repo-setup.ce.sh\"\r\nsudo bash .\/passbolt-repo-setup.ce.sh\r\nsudo apt update &amp;&amp; sudo apt upgrade -y\r\nsudo apt install passbolt-ce-server -y<\/pre>\n<p>ROCKY \/ ALMA \/ ORACLE \/ FEDORA<\/p>\n<pre>wget \"https:\/\/download.passbolt.com\/ce\/installer\/passbolt-repo-setup.ce.sh\"\r\nsudo bash .\/passbolt-repo-setup.ce.sh\r\nsudo dnf install passbolt-ce-server\r\nsudo \/usr\/local\/bin\/passbolt-configure<\/pre>\n<p>DOCKER<\/p>\n<pre>wget \"https:\/\/download.passbolt.com\/ce\/docker\/docker-compose-ce.yaml\"\r\ndocker-compose -f docker-compose-ce.yaml up -d<\/pre>\n<hr \/>\n<p><strong>CLI INSTALLATION STEPS<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3188\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-07-31.png\" alt=\"\" width=\"573\" height=\"282\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-07-31.png 573w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-07-31-300x148.png 300w\" sizes=\"auto, (max-width: 573px) 100vw, 573px\" \/><\/p>\n<p>Provide the default credentials for the newly deployed MySQL server. Username: <code>root<\/code>, password: empty.<\/p>\n<p>Accept or customise the suggested username that Passbolt will use, then provide a long and complex password (entered twice):<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3189\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-08-42.png\" alt=\"\" width=\"668\" height=\"236\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-08-42.png 668w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-08-42-300x106.png 300w\" sizes=\"auto, (max-width: 668px) 100vw, 668px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3190\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-09-22.png\" alt=\"\" width=\"533\" height=\"236\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-09-22.png 533w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-09-22-300x133.png 300w\" sizes=\"auto, (max-width: 533px) 100vw, 533px\" \/><\/p>\n<p>Accept or customise the database name (important if you have multiple instances of the app sharing the same database server):<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3191\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-10-01.png\" alt=\"\" width=\"604\" height=\"236\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-10-01.png 604w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-10-01-300x117.png 300w\" sizes=\"auto, (max-width: 604px) 100vw, 604px\" \/><\/p>\n<p>Passbolt does not face the internet or local network directly. It sits behind a web server such as Apache or NGINX, which handles TLS (HTTPS) termination and proxies the unencrypted requests to Passbolt internally.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3192\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-10-19.png\" alt=\"\" width=\"593\" height=\"284\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-10-19.png 593w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-10-19-300x144.png 300w\" sizes=\"auto, (max-width: 593px) 100vw, 593px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3193\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-11-13.png\" alt=\"\" width=\"878\" height=\"389\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-11-13.png 878w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-11-13-300x133.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-11-13-768x340.png 768w\" sizes=\"auto, (max-width: 878px) 100vw, 878px\" \/><\/p>\n<p><strong>Note:<\/strong> a real public domain is required to automatically complete the challenge from the Certificate Authority Let&#8217;s Encrypt. It is free and highly recommended.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3194\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-12-08.png\" alt=\"\" width=\"943\" height=\"268\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-12-08.png 943w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-12-08-300x85.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-12-08-768x218.png 768w\" sizes=\"auto, (max-width: 943px) 100vw, 943px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3195\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-12-40.png\" alt=\"\" width=\"718\" height=\"300\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-12-40.png 718w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-12-40-300x125.png 300w\" sizes=\"auto, (max-width: 718px) 100vw, 718px\" \/><\/p>\n<p>The installer will suggest restarting a few services. It is not strictly required, but restarting all of them does not hurt.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3196\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-14-03.png\" alt=\"\" width=\"465\" height=\"267\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-14-03.png 465w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-14-03-300x172.png 300w\" sizes=\"auto, (max-width: 465px) 100vw, 465px\" \/><\/p>\n<p>You should see the successful installation banner with the address to continue the setup in your browser:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3197\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-17-27.png\" alt=\"\" width=\"750\" height=\"325\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-17-27.png 750w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-17-27-300x130.png 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/p>\n<hr \/>\n<p><strong>WEB INSTALLATION STEPS<\/strong><\/p>\n<p>Navigate to the domain pointing to your Passbolt server and confirm the connection is encrypted (HTTPS).<\/p>\n<p>Follow the installation steps:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3198\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-15-35.png\" alt=\"\" width=\"692\" height=\"475\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-15-35.png 692w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-15-35-300x206.png 300w\" sizes=\"auto, (max-width: 692px) 100vw, 692px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3199\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-15-51.png\" alt=\"\" width=\"692\" height=\"785\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-15-51.png 692w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-15-51-264x300.png 264w\" sizes=\"auto, (max-width: 692px) 100vw, 692px\" \/><\/p>\n<p>Enter the database connection details you configured during the terminal installation:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3200\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-20-31.png\" alt=\"\" width=\"692\" height=\"885\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-20-31.png 692w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-20-31-235x300.png 235w\" sizes=\"auto, (max-width: 692px) 100vw, 692px\" \/><\/p>\n<p>Give the server a name and provide the administrator&#8217;s contact information:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3201\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-21-13.png\" alt=\"\" width=\"692\" height=\"885\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-21-13.png 692w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-21-13-235x300.png 235w\" sizes=\"auto, (max-width: 692px) 100vw, 692px\" \/><\/p>\n<p>This is a critical step that must not be skipped. Passbolt requires an SMTP server to send invitations to user accounts, including the admin account. Without it configured correctly, you will be locked out of the server.<\/p>\n<p><strong>Important:<\/strong> only use an SMTP server you fully trust. A malicious SMTP provider could pose a serious threat to your server and its data.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3202\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-22-54.png\" alt=\"\" width=\"692\" height=\"981\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-22-54.png 692w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-22-54-212x300.png 212w\" sizes=\"auto, (max-width: 692px) 100vw, 692px\" \/><\/p>\n<p>The master admin account requires an email to be sent to complete its creation and set a password:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3203\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-23-28.png\" alt=\"\" width=\"692\" height=\"662\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-23-28.png 692w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-23-28-300x287.png 300w\" sizes=\"auto, (max-width: 692px) 100vw, 692px\" \/><\/p>\n<p>You can now install the browser extension to get the most out of your new password manager.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3205\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-23-59.png\" alt=\"\" width=\"692\" height=\"557\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-23-59.png 692w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-23-59-300x241.png 300w\" sizes=\"auto, (max-width: 692px) 100vw, 692px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3207\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-24-54.png\" alt=\"\" width=\"974\" height=\"695\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-24-54.png 974w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-24-54-300x214.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-24-54-768x548.png 768w\" sizes=\"auto, (max-width: 974px) 100vw, 974px\" \/><\/p>\n<p>Don&#8217;t forget to click the link sent in the activation email.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3208\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-25-08.png\" alt=\"\" width=\"974\" height=\"755\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-25-08.png 974w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-25-08-300x233.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2023-01-06-09-25-08-768x595.png 768w\" sizes=\"auto, (max-width: 974px) 100vw, 974px\" \/><\/p>\n<hr \/>\n<p><strong>CONFIGURING SSL\/TLS (HTTPS) MANUALLY \/ ADVANCED MODE<\/strong><\/p>\n<p>Passbolt itself does not handle SSL\/TLS. It is provided by placing a web server such as Apache, NGINX, or Varnish in front of the application to terminate encrypted connections.<\/p>\n<p>Pro tips:<\/p>\n<ul>\n<li>Free option:\n<ul>\n<li>Use Let&#8217;s Encrypt for free, auto-renewing 90-day certificates,<\/li>\n<li>Requires direct exposure to the public internet for domain ownership validation via HTTP challenge.\n<ul>\n<li>It is recommended to configure multiple virtual hosts to serve different content depending on the client&#8217;s origin:\n<ul>\n<li>If the client is coming from the LAN or VPN, serve Passbolt via reverse proxy,<\/li>\n<li>Otherwise, serve a blank page or redirect.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Paid option:\n<ul>\n<li>Purchase a public certificate from any vendor for your desired validity period (1, 2, 5 years&#8230;),<\/li>\n<li>The server can be fully isolated from the public internet since domain ownership can be validated via DNS, email, etc.<\/li>\n<li>Certificates do not auto-renew and must be renewed manually before expiration.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<hr \/>\n<p><strong>BONUS<\/strong><\/p>\n<p><strong>VaultWarden<\/strong> probably deserves its own blog post, but given how simple it is to install, it is worth covering here.<\/p>\n<ul>\n<li>Why is VaultWarden relevant among self-hosted open-source password managers?\n<ul>\n<li>It offers 100% of the features that 99% of users need daily, with less complexity and leaner code,<\/li>\n<li>It is lightweight, written in Rust, and requires significantly fewer resources,<\/li>\n<li>There is no visual difference between VaultWarden and BitWarden since they share the same mobile apps, browser extensions, and web interface,<\/li>\n<li>Because it is not as mature as BitWarden, it is recommended to keep it on a private network (on-premises, VPC, or via VPN).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Installation<\/p>\n<pre>sudo apt install argon2 -y\r\nsudo mkdir -p \/vaultwarden-data\/\r\nsudo chmod o-rwx \/vaultwarden-data\/\r\nTOKEN=`echo -n \"<strong>ChangeSecretPassword<\/strong>\" | argon2 \"$(openssl rand -base64 32)\" -e -id -k 65540 -t 3 -p 4`\r\nhistory -d -2\r\nsudo docker run -d --name vaultwarden -v \/vaultwarden-data\/:\/data --restart unless-stopped -p 127.0.0.1:80:80 -e ADMIN_TOKEN=\"<strong>$TOKEN\"<\/strong> vaultwarden\/server:latest\r\nTOKEN=''<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4248\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-31-01.png\" alt=\"\" width=\"1427\" height=\"94\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-31-01.png 1427w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-31-01-300x20.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-31-01-1024x67.png 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-31-01-768x51.png 768w\" sizes=\"auto, (max-width: 1427px) 100vw, 1427px\" \/><\/p>\n<p><strong>Note:<\/strong> the script hashes a string (your password) for the admin token, immediately removes that line from bash history, and then clears the token variable. It also binds only to localhost on port 80. Using a reverse proxy with HTTPS is strongly recommended to make it accessible outside localhost.<\/p>\n<p>Navigate to <a href=\"http:\/\/localhost\">http:\/\/localhost<\/a>. At this point, any visitor can create an account, which is not suitable for public exposure. You can configure allowed users and domains from the Admin dashboard.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4249\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-35-47.png\" alt=\"\" width=\"1055\" height=\"789\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-35-47.png 1055w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-35-47-300x224.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-35-47-1024x766.png 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-35-47-768x574.png 768w\" sizes=\"auto, (max-width: 1055px) 100vw, 1055px\" \/><\/p>\n<p>Navigate to the <strong>Admin Dashboard<\/strong> at <a href=\"http:\/\/localhost\/admin\">http:\/\/localhost\/admin<\/a>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4250\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-39-30.png\" alt=\"\" width=\"1055\" height=\"396\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-39-30.png 1055w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-39-30-300x113.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-39-30-1024x384.png 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-39-30-768x288.png 768w\" sizes=\"auto, (max-width: 1055px) 100vw, 1055px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4251\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-46-15.png\" alt=\"\" width=\"1055\" height=\"897\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-46-15.png 1055w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-46-15-300x255.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-46-15-1024x871.png 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-46-15-768x653.png 768w\" sizes=\"auto, (max-width: 1055px) 100vw, 1055px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4252\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-46-41.png\" alt=\"\" width=\"1055\" height=\"897\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-46-41.png 1055w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-46-41-300x255.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-46-41-1024x871.png 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2023\/01\/Screenshot-from-2024-05-03-15-46-41-768x653.png 768w\" sizes=\"auto, (max-width: 1055px) 100vw, 1055px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Passbolt CE (Community Edition) is an enterprise-grade, open-source [Link] multi-platform [Link] password manager. It is [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,4,6,7],"tags":[],"class_list":["post-3147","post","type-post","status-publish","format-standard","hentry","category-general","category-linux","category-raspberry-pi","category-web"],"_links":{"self":[{"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/posts\/3147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dft.wiki\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3147"}],"version-history":[{"count":8,"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/posts\/3147\/revisions"}],"predecessor-version":[{"id":5661,"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/posts\/3147\/revisions\/5661"}],"wp:attachment":[{"href":"https:\/\/dft.wiki\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dft.wiki\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3147"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dft.wiki\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}