diff --git a/ct/komga.sh b/ct/komga.sh new file mode 100644 index 00000000..225316ed --- /dev/null +++ b/ct/komga.sh @@ -0,0 +1,90 @@ +#!/usr/bin/env bash +source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2024 community-scripts ORG +# Author: madelyn (DysfunctionalProgramming) +# License: MIT +# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE + +function header_info { +clear +cat <<"EOF" + __ __ + / //_/___ ____ ___ ____ _____ _ + / ,< / __ \/ __ `__ \/ __ `/ __ `/ + / /| / /_/ / / / / / / /_/ / /_/ / +/_/ |_\____/_/ /_/ /_/\__, /\__,_/ + /____/ +EOF +} +header_info +echo -e "Loading..." +APP="Komga" +var_disk="4" +var_cpu="1" +var_ram="2048" +var_os="debian" +var_version="12" +variables +color +catch_errors + +function default_settings() { + CT_TYPE="1" + PW="" + CT_ID=$NEXTID + HN=$NSAPP + DISK_SIZE="$var_disk" + CORE_COUNT="$var_cpu" + RAM_SIZE="$var_ram" + BRG="vmbr0" + NET="dhcp" + GATE="" + APT_CACHER="" + APT_CACHER_IP="" + DISABLEIP6="no" + MTU="" + SD="" + NS="" + MAC="" + VLAN="" + SSH="no" + VERB="no" + echo_default +} + +function update_script() { +header_info +check_container_storage +check_container_resources +if [[ ! -f /opt/komga/komga*.jar ]]; then msg_error "No ${APP} Installation Found!"; exit; fi +msg_info "Updating ${APP}" +RELEASE=$(curl -s https://api.github.com/repos/gotson/komga/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + msg_info "Stopping ${APP}" + systemctl stop komga + msg_ok "Stopped ${APP}" + + msg_info "Updating ${APP} to ${RELEASE}" + rm -rf /opt/komga/komga*.jar + wget -q "https://github.com/gotson/komga/releases/download/v${RELEASE}/komga-${RELEASE}.jar" + mv -f komga-${RELEASE}.jar /opt/komga/komga.jar + echo "${RELEASE}" >/opt/${APP}_version.txt + msg_ok "Updated ${APP} to ${RELEASE}" + + msg_info "Starting ${APP}" + systemctl start komga + msg_ok "Started ${APP}" + msg_ok "Updated Successfully" +else + msg_ok "No update required. ${APP} is already at ${RELEASE}." +fi +exit +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${APP} should be reachable by going to the following URL. + ${BL}http://${IP}:25600 ${CL} \n" diff --git a/install/komga-install.sh b/install/komga-install.sh new file mode 100644 index 00000000..43f4ea92 --- /dev/null +++ b/install/komga-install.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2024 community-scripts ORG +# Author: madelyn (DysfunctionalProgramming) +# 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 \ + curl \ + mc \ + sudo \ + openjdk-17-jre +msg_ok "Installed Dependencies" + +msg_info "Installing Komga" +RELEASE=$(curl -s https://api.github.com/repos/gotson/komga/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +wget -q https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar +mkdir -p /opt/komga +mv -f komga-${RELEASE}.jar /opt/komga/komga.jar +echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" +msg_ok "Installed Komga" + +msg_info "Creating Service" +cat </etc/systemd/system/komga.service +[Unit] +Description=Komga +After=syslog.target network.target + +[Service] +Type=simple +WorkingDirectory=/opt/komga/ +ExecStart=/usr/bin/java -jar -Xmx2g komga.jar +TimeoutStopSec=20 +KillMode=process +Restart=on-failure + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable --now -q komga +msg_ok "Created Service" + +motd_ssh +customize + +msg_info "Cleaning up" +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" diff --git a/json/komga.json b/json/komga.json new file mode 100644 index 00000000..95196830 --- /dev/null +++ b/json/komga.json @@ -0,0 +1,34 @@ +{ + "name": "Komga", + "slug": "komga", + "categories": [ + 12 + ], + "date_created": "2024-11-15", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": "25600", + "documentation": "https://komga.org/docs/introduction", + "website": "https://komga.org/", + "logo": "https://github.com/gotson/komga/raw/master/.github/readme-images/app-icon.png", + "description": "A media server for your comics, mangas, BDs, magazines and eBooks. Organize your CBZ, CBR, PDF and EPUB files in different libraries, collections or reading lists. Use the integrated Webreader, the Mihon extension, any OPDS reader, or other integrations. Edit metadata for your series and books.", + "install_methods": [ + { + "type": "default", + "script": "ct/komga.sh", + "resources": { + "cpu": "1", + "ram": "2048", + "hdd": "4", + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] +} \ No newline at end of file