diff --git a/ct/kutt.sh b/ct/kutt.sh index 09f0a3efe..69da55bc1 100644 --- a/ct/kutt.sh +++ b/ct/kutt.sh @@ -71,4 +71,4 @@ 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}https://${IP}${CL}" +echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:3000 or https://${CL}" diff --git a/frontend/public/json/kutt.json b/frontend/public/json/kutt.json index d93424b33..a62e198d7 100644 --- a/frontend/public/json/kutt.json +++ b/frontend/public/json/kutt.json @@ -31,5 +31,10 @@ "username": null, "password": null }, - "notes": [] + "notes": [ + { + "text": "Kutt needs so be served with an SSL certificate for its login to work. During install, you will be prompted to choose if you want to have Caddy installed for SSL termination, or if you want to use your own reverse proxy. You can also skip SSL termination during install and configure it later.", + "type": "info" + } + ] } diff --git a/install/kutt-install.sh b/install/kutt-install.sh index 5bd99cb57..c741c478f 100644 --- a/install/kutt-install.sh +++ b/install/kutt-install.sh @@ -13,28 +13,43 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt install -y caddy -msg_ok "Installed Dependencies" +echo "${TAB3}How would you like to handle SSL termination?" +echo "${TAB3}[i]-Internal (self-signed SSL Certificate) [e]-External (use your own reverse proxy)" +read -rp "${TAB3}Enter your choice (default: i): " ssl_choice +ssl_choice=${ssl_choice:-i} +case "${ssl_choice,,}" in +i) + import_local_ip + DEFAULT_HOST="$LOCAL_IP:3000" + + msg_info "Confiuring Caddy" + $STD apt install -y caddy + cat </etc/caddy/Caddyfile +:3000 { + reverse_proxy localhost:3000 +} +EOF + systemctl restart caddy + msg_ok "Installed Caddy" + ;; +e) + read -r -p "${TAB3}Enter the hostname you want to use for Kutt (eg. kutt.example.com)" custom_host + if [[ "$custom_host" ]]; then + DEFAULT_HOST="$custom_host" + fi + ;; +esac NODE_VERSION="22" setup_nodejs fetch_and_deploy_gh_release "kutt" "thedevs-network/kutt" "tarball" -import_local_ip msg_info "Configuring Kutt" cd /opt/kutt cp .example.env ".env" sed -i "s|JWT_SECRET=|JWT_SECRET=$(openssl rand -base64 32)|g" ".env" -sed -i "s|DEFAULT_DOMAIN=.*|DEFAULT_DOMAIN=https://$LOCAL_IP|g" ".env" +sed -i "s|DEFAULT_HOST=.*|DEFAULT_HOST=https://$DEFAULT_HOST|g" ".env" $STD npm install $STD npm run migrate - -cat </etc/caddy/Caddyfile -$LOCAL_IP { - reverse_proxy localhost:3000 -} -EOF -systemctl restart caddy msg_ok "Configured Kutt" msg_info "Creating Services"