Skip to content

Commit 6e3aeab

Browse files
BentoPDF (#8735)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com> Co-authored-by: CanbiZ <[email protected]>
1 parent 0c46583 commit 6e3aeab

File tree

4 files changed

+156
-0
lines changed

4 files changed

+156
-0
lines changed

ct/bentopdf.sh

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
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: vhsdream
5+
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
6+
# Source: https://github.com/alam00000/bentopdf
7+
8+
APP="BentoPDF"
9+
var_tags="${var_tags:-pdf-editor}"
10+
var_cpu="${var_cpu:-1}"
11+
var_ram="${var_ram:-2048}"
12+
var_disk="${var_disk:-4}"
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 /opt/bentopdf ]]; then
27+
msg_error "No ${APP} Installation Found!"
28+
exit
29+
fi
30+
31+
NODE_VERSION="24" setup_nodejs
32+
33+
if check_for_gh_release "bentopdf" "alam00000/bentopdf"; then
34+
msg_info "Stopping Service"
35+
systemctl stop bentopdf
36+
msg_ok "Stopped Service"
37+
38+
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "bentopdf" "alam00000/bentopdf" "tarball" "latest" "/opt/bentopdf"
39+
40+
msg_info "Updating BentoPDF"
41+
cd /opt/bentopdf
42+
$STD npm ci --no-audit --no-fund
43+
export SIMPLE_MODE=true
44+
$STD npm run build -- --mode production
45+
msg_ok "Updated BentoPDF"
46+
47+
msg_info "Starting Service"
48+
systemctl start bentopdf
49+
msg_ok "Started Service"
50+
msg_ok "Updated Successfully!"
51+
fi
52+
exit
53+
}
54+
55+
start
56+
build_container
57+
description
58+
59+
msg_ok "Completed Successfully!\n"
60+
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
61+
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
62+
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"

ct/headers/bentopdf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
____ __ ____ ____ ______
2+
/ __ )___ ____ / /_____ / __ \/ __ \/ ____/
3+
/ __ / _ \/ __ \/ __/ __ \/ /_/ / / / / /_
4+
/ /_/ / __/ / / / /_/ /_/ / ____/ /_/ / __/
5+
/_____/\___/_/ /_/\__/\____/_/ /_____/_/
6+

frontend/public/json/bentopdf.json

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"name": "BentoPDF",
3+
"slug": "bentopdf",
4+
"categories": [
5+
12
6+
],
7+
"date_created": "2025-10-30",
8+
"type": "ct",
9+
"updateable": true,
10+
"privileged": false,
11+
"interface_port": 8080,
12+
"documentation": "https://github.com/alam00000/bentopdf",
13+
"website": "https://www.bentopdf.com",
14+
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/bentopdf.webp",
15+
"config_path": "",
16+
"description": "A privacy-first, 100% client-side PDF Toolkit. No signups/accounts, works in the browser, online or offline.",
17+
"install_methods": [
18+
{
19+
"type": "default",
20+
"script": "ct/bentopdf.sh",
21+
"resources": {
22+
"cpu": 1,
23+
"ram": 2048,
24+
"hdd": 4,
25+
"os": "debian",
26+
"version": "13"
27+
}
28+
}
29+
],
30+
"default_credentials": {
31+
"username": null,
32+
"password": null
33+
},
34+
"notes": []
35+
}

install/bentopdf-install.sh

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
#!/usr/bin/env bash
2+
3+
# Copyright (c) 2021-2025 community-scripts ORG
4+
# Author: vhsdream
5+
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
6+
# Source: https://github.com/alam00000/bentopdf
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+
NODE_VERSION="24" setup_nodejs
17+
fetch_and_deploy_gh_release "bentopdf" "alam00000/bentopdf" "tarball" "latest" "/opt/bentopdf"
18+
19+
msg_info "Setup BentoPDF"
20+
cd /opt/bentopdf
21+
$STD npm ci --no-audit --no-fund
22+
export SIMPLE_MODE=true
23+
$STD npm run build -- --mode production
24+
msg_ok "Setup BentoPDF"
25+
26+
msg_info "Creating Service"
27+
cat <<EOF >/etc/systemd/system/bentopdf.service
28+
[Unit]
29+
Description=BentoPDF Service
30+
After=network.target
31+
32+
[Service]
33+
Type=simple
34+
WorkingDirectory=/opt/bentopdf
35+
ExecStart=/usr/bin/npx serve dist -p 8080
36+
Restart=always
37+
RestartSec=10
38+
39+
[Install]
40+
WantedBy=multi-user.target
41+
EOF
42+
43+
systemctl enable -q --now bentopdf
44+
msg_ok "Created & started service"
45+
46+
motd_ssh
47+
customize
48+
49+
msg_info "Cleaning up"
50+
$STD apt -y autoremove
51+
$STD apt -y autoclean
52+
$STD apt -y clean
53+
msg_ok "Cleaned"

0 commit comments

Comments
 (0)