Skip to content

Commit 28dc130

Browse files
Passbolt (#9226)
1 parent 5dc5396 commit 28dc130

File tree

3 files changed

+139
-0
lines changed

3 files changed

+139
-0
lines changed

ct/passbolt.sh

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#!/usr/bin/env bash
2+
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
3+
# Copyright (c) 2021-2025 community-scripts ORG
4+
# Author: Slaviša Arežina (tremor021)
5+
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
6+
# Source: https://www.passbolt.com/
7+
8+
APP="Passbolt"
9+
var_tags="${var_tags:-auth}"
10+
var_cpu="${var_cpu:-2}"
11+
var_ram="${var_ram:-2048}"
12+
var_disk="${var_disk:-2}"
13+
var_os="${var_os:-debian}"
14+
var_version="${var_version:-13}"
15+
var_unprivileged="${var_unprivileged:-1}"
16+
17+
header_info "$APP"
18+
variables
19+
color
20+
catch_errors
21+
22+
function update_script() {
23+
header_info
24+
check_container_storage
25+
check_container_resources
26+
if [[ ! -d /var ]]; then
27+
msg_error "No ${APP} Installation Found!"
28+
exit
29+
fi
30+
msg_info "Updating $APP LXC"
31+
$STD apt update
32+
$STD apt upgrade -y
33+
msg_ok "Updated $APP LXC"
34+
exit
35+
}
36+
37+
start
38+
build_container
39+
description
40+
41+
msg_ok "Completed Successfully!\n"
42+
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
43+
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
44+
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}${CL}"

frontend/public/json/passbolt.json

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{
2+
"name": "Passbolt",
3+
"slug": "passbolt",
4+
"categories": [
5+
6
6+
],
7+
"date_created": "2025-09-04",
8+
"type": "ct",
9+
"updateable": true,
10+
"privileged": false,
11+
"interface_port": 443,
12+
"documentation": "https://www.passbolt.com/docs/",
13+
"config_path": "/etc/passbolt/passbolt.php",
14+
"website": "https://www.passbolt.com/",
15+
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/passbolt.webp",
16+
"description": "Passbolt is a hybrid credential platform. It is built-first for modern IT teams, yet simple enough for everyone. A sovereign, battle-tested solution that delivers for a team of 5, or an organisation of 5000.",
17+
"install_methods": [
18+
{
19+
"type": "default",
20+
"script": "ct/passbolt.sh",
21+
"resources": {
22+
"cpu": 2,
23+
"ram": 2048,
24+
"hdd": 2,
25+
"os": "Debian",
26+
"version": "13"
27+
}
28+
}
29+
],
30+
"default_credentials": {
31+
"username": null,
32+
"password": null
33+
},
34+
"notes": [
35+
{
36+
"text": "Type `cat ~/.Passbolt.creds` to see MariaDB database credentials. You will need those to setup Passbolt.",
37+
"type": "info"
38+
},
39+
{
40+
"text": "The application uses self-signed certificates. You can also use Let's Encrypt to get a valid certificate for your domain. Please read the documentation for more information.",
41+
"type": "info"
42+
}
43+
]
44+
}

install/passbolt-install.sh

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#!/usr/bin/env bash
2+
3+
# Copyright (c) 2021-2025 community-scripts ORG
4+
# Author: Slaviša Arežina (tremor021)
5+
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
6+
# Source: https://www.passbolt.com/
7+
8+
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
9+
color
10+
verb_ip6
11+
catch_errors
12+
setting_up_container
13+
network_check
14+
update_os
15+
16+
msg_info "Installing dependencies"
17+
$STD apt install -y \
18+
apt-transport-https \
19+
python3-certbot-nginx \
20+
debconf-utils
21+
msg_ok "Installed dependencies"
22+
23+
setup_mariadb
24+
MARIADB_DB_NAME="passboltdb" MARIADB_DB_USER="passbolt" MARIADB_DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)" setup_mariadb_db
25+
setup_deb822_repo \
26+
"passbolt" \
27+
"https://keys.openpgp.org/pks/lookup?op=get&options=mr&search=0x3D1A0346C8E1802F774AEF21DE8B853FC155581D" \
28+
"https://download.passbolt.com/ce/debian" \
29+
"buster" \
30+
"stable"
31+
create_self_signed_cert "passbolt"
32+
33+
msg_info "Setting up Passbolt (Patience)"
34+
export DEBIAN_FRONTEND=noninteractive
35+
IP_ADDR=$(hostname -I | awk '{print $1}')
36+
echo passbolt-ce-server passbolt/mysql-configuration boolean true | debconf-set-selections
37+
echo passbolt-ce-server passbolt/mysql-passbolt-username string $MARIADB_DB_USER | debconf-set-selections
38+
echo passbolt-ce-server passbolt/mysql-passbolt-password password $MARIADB_DB_PASS | debconf-set-selections
39+
echo passbolt-ce-server passbolt/mysql-passbolt-password-repeat password $MARIADB_DB_PASS | debconf-set-selections
40+
echo passbolt-ce-server passbolt/mysql-passbolt-dbname string $MARIADB_DB_NAME | debconf-set-selections
41+
echo passbolt-ce-server passbolt/nginx-configuration boolean true | debconf-set-selections
42+
echo passbolt-ce-server passbolt/nginx-configuration-three-choices select manual | debconf-set-selections
43+
echo passbolt-ce-server passbolt/nginx-domain string $IP_ADDR | debconf-set-selections
44+
echo passbolt-ce-server passbolt/nginx-certificate-file string /etc/ssl/passbolt/passbolt.crt | debconf-set-selections
45+
echo passbolt-ce-server passbolt/nginx-certificate-key-file string /etc/ssl/passbolt/passbolt.key | debconf-set-selections
46+
$STD apt install -y --no-install-recommends passbolt-ce-server
47+
msg_ok "Setup Passbolt"
48+
49+
motd_ssh
50+
customize
51+
cleanup_lxc

0 commit comments

Comments
 (0)