#!/usr/bin/env bash # Copyright (c) 2021-2025 community-scripts ORG # Author: Omar Minaya # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/C4illin/ConvertX source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" color verb_ip6 catch_errors setting_up_container network_check update_os # setup_imagemagick # msg_info "Installing Dependencies" # $STD apt-get install -y \ # assimp-utils \ # calibre \ # dcraw \ # dvisvgm \ # ffmpeg \ # inkscape \ # libva2 \ # libvips-tools \ # lmodern \ # mupdf-tools \ # pandoc \ # poppler-utils \ # potrace \ # python3-numpy \ # texlive \ # texlive-fonts-recommended \ # texlive-latex-extra \ # texlive-latex-recommended \ # texlive-xetex msg_ok "Installed Dependencies" NODE_VERSION=22 NODE_MODULE="bun" setup_nodejs fetch_and_deploy_gh_release "ConvertX" "C4illin/ConvertX" "tarball" "latest" "/opt/convertx" msg_info "Installing ConvertX" cd /opt/convertx mkdir -p data $STD bun install JWT_SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | head -c 32) cat </opt/convertx/.env JWT_SECRET=$JWT_SECRET HTTP_ALLOWED=true PORT=3000 EOF msg_ok "Installed ConvertX" # msg_info "Creating Services" # cat </etc/systemd/system/convertx.service # [Unit] # Description=ConvertX File Converter # After=network.target # [Service] # Type=exec # WorkingDirectory=/opt/convertx # EnvironmentFile=/opt/convertx/.env # ExecStart=/root/.bun/bin/bun dev # Restart=always # [Install] # WantedBy=multi-user.target # EOF # systemctl enable -q --now convertx # msg_ok "Service Created" msg_info "Waiting for SQLite database" for ((COUNT = 0; COUNT < 60; COUNT++)); do [ -f "/opt/convertx/data/mydb.sqlite" ] && { systemctl restart convertx exit 0 } sleep 0.5 done msg_error "Timed out waiting for database!" exit 1 msg_ok "Database created" motd_ssh customize msg_info "Cleaning up" $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned"