-
-
Notifications
You must be signed in to change notification settings - Fork 468
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New Script: calibre-server #960
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
#!/usr/bin/env bash | ||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) | ||
# Copyright (c) 2021-2024 | ||
# Author: thisisjeron | ||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE | ||
# Source: https://calibre-ebook.com | ||
|
||
# App Default Values | ||
APP="Calibre-Server" | ||
var_tags="eBook" | ||
var_cpu="2" | ||
var_ram="1024" | ||
var_disk="4" | ||
var_os="debian" | ||
var_version="12" | ||
var_unprivileged="1" | ||
|
||
# App Output & Base Settings | ||
header_info "$APP" | ||
base_settings | ||
|
||
# Core | ||
variables | ||
color | ||
catch_errors | ||
|
||
function update_script() { | ||
header_info | ||
check_container_storage | ||
check_container_resources | ||
|
||
# Check if installed | ||
if [[ ! -f /etc/systemd/system/calibre-server.service ]]; then | ||
msg_error "No ${APP} Installation Found!" | ||
exit | ||
fi | ||
|
||
msg_info "Stopping ${APP}" | ||
systemctl stop calibre-server | ||
msg_ok "Stopped ${APP}" | ||
|
||
msg_info "Updating ${APP} container packages" | ||
apt-get update &>/dev/null | ||
apt-get -y upgrade &>/dev/null | ||
msg_ok "Container packages updated" | ||
|
||
# Potentially re-run the official calibre script to ensure most recent version | ||
# to keep logic consistent with how other scripts handle updates. | ||
msg_info "Updating Calibre (latest)" | ||
wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sh /dev/stdin &>/dev/null | ||
msg_ok "Updated Calibre" | ||
|
||
msg_info "Starting ${APP}" | ||
systemctl start calibre-server | ||
msg_ok "Started ${APP}" | ||
msg_ok "Updated Successfully" | ||
exit | ||
} | ||
|
||
start | ||
build_container | ||
description | ||
|
||
msg_ok "Completed Successfully!\n" | ||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" | ||
echo -e "${INFO}${YW} Access it using the following URL:${CL}" | ||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8180${CL}" |
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,58 @@ | ||||||||||||||||||||||||
#!/usr/bin/env bash | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
# Copyright (c) 2021-2024 | ||||||||||||||||||||||||
# Author: thisisjeron | ||||||||||||||||||||||||
# License: MIT | ||||||||||||||||||||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH" | ||||||||||||||||||||||||
color | ||||||||||||||||||||||||
verb_ip6 | ||||||||||||||||||||||||
catch_errors | ||||||||||||||||||||||||
setting_up_container | ||||||||||||||||||||||||
network_check | ||||||||||||||||||||||||
update_os | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
msg_info "Installing Dependencies" | ||||||||||||||||||||||||
$STD apt-get install -y imagemagick xvfb libxcomposite1 | ||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||
msg_ok "Installed Dependencies" | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
msg_info "Installing Calibre (latest)" | ||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||
# If your container runs as root, you generally do not need to prefix with `sudo`. | ||||||||||||||||||||||||
# The official Calibre instructions: | ||||||||||||||||||||||||
wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sh /dev/stdin | ||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Before Downloading, can you get the Version number somehow? Just so you can check during the update that it is needed. And is this operation truly silent? |
||||||||||||||||||||||||
msg_ok "Installed Calibre" | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
msg_info "Creating calibre system user & directories" | ||||||||||||||||||||||||
useradd -c "Calibre Server" -d /opt/calibre -s /bin/bash -m calibre | ||||||||||||||||||||||||
mkdir -p /opt/calibre/calibre-library | ||||||||||||||||||||||||
chown -R calibre:calibre /opt/calibre | ||||||||||||||||||||||||
msg_ok "Created calibre user & directories" | ||||||||||||||||||||||||
Comment on lines
+24
to
+30
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||
|
||||||||||||||||||||||||
msg_info "Creating systemd service" | ||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||
cat <<EOF >/etc/systemd/system/calibre-server.service | ||||||||||||||||||||||||
[Unit] | ||||||||||||||||||||||||
Description=Calibre Content Server | ||||||||||||||||||||||||
After=network.target | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
[Service] | ||||||||||||||||||||||||
Type=simple | ||||||||||||||||||||||||
User=calibre | ||||||||||||||||||||||||
Group=calibre | ||||||||||||||||||||||||
ExecStart=/opt/calibre/calibre-server --port=8180 --enable-local-write /opt/calibre/calibre-library | ||||||||||||||||||||||||
Restart=always | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
[Install] | ||||||||||||||||||||||||
WantedBy=multi-user.target | ||||||||||||||||||||||||
EOF | ||||||||||||||||||||||||
systemctl enable -q --now calibre-server.service | ||||||||||||||||||||||||
msg_ok "Created Service" | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
motd_ssh | ||||||||||||||||||||||||
customize | ||||||||||||||||||||||||
|
||||||||||||||||||||||||
msg_info "Cleaning up" | ||||||||||||||||||||||||
$STD apt-get -y autoremove | ||||||||||||||||||||||||
$STD apt-get -y autoclean | ||||||||||||||||||||||||
msg_ok "Cleaned" | ||||||||||||||||||||||||
|
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,43 @@ | ||||||
{ | ||||||
"name": "Calibre-Server", | ||||||
"slug": "calibre-server", | ||||||
"categories": [ | ||||||
12 | ||||||
], | ||||||
"date_created": "2024-05-02", | ||||||
"type": "ct", | ||||||
"updateable": true, | ||||||
"privileged": false, | ||||||
"interface_port": 8180, | ||||||
"documentation": null, | ||||||
"website": "https://calibre-ebook.com", | ||||||
"logo": "https://calibre-ebook.com/resources/icons/calibre_icon.png", | ||||||
"description": "Calibre content server is usedto manage and serve eBooks over the network.", | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
"install_methods": [ | ||||||
{ | ||||||
"type": "default", | ||||||
"script": "ct/calibre-server.sh", | ||||||
"resources": { | ||||||
"cpu": 2, | ||||||
"ram": 1024, | ||||||
"hdd": 4, | ||||||
"os": "debian", | ||||||
"version": "12" | ||||||
} | ||||||
} | ||||||
], | ||||||
"default_credentials": { | ||||||
"username": null, | ||||||
"password": null | ||||||
}, | ||||||
"notes": [ | ||||||
{ | ||||||
"text": "By default, the Calibre Server runs on port 8180 with no username/password.", | ||||||
"type": "info" | ||||||
}, | ||||||
{ | ||||||
"text": "Use 'calibredb add' from the calibre user or run 'xvfb-run calibredb add ...' if you need to add books while the server is running.", | ||||||
"type": "info" | ||||||
} | ||||||
Comment on lines
+38
to
+41
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Remove and write a guide in the disscusion section. |
||||||
] | ||||||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If possible check if there is a newer version wich needs to be installed. Have a look at the snipeit.sh file for reference.