diff --git a/ct/flatnotes.sh b/ct/flatnotes.sh index 04fcba899..0e618df28 100644 --- a/ct/flatnotes.sh +++ b/ct/flatnotes.sh @@ -5,7 +5,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/luismco/ProxmoxVED/refs/he # License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE # Source: https://github.com/technomancer702/nodecast-tv -APP="flatnotes" +APP="Flatnotes" var_tags="${var_tags:-media}" var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" @@ -23,25 +23,44 @@ function update_script() { header_info check_container_storage check_container_resources - if [[ ! -d /opt/nodecast-tv ]]; then + if [[ ! -d /opt/flatnotes ]]; then msg_error "No ${APP} Installation Found!" exit fi - if check_for_gh_release "nodecast-tv" "technomancer702/nodecast-tv"; then + if check_for_gh_release "flatnotes" "dullage/flatnotes"; then msg_info "Stopping Service" - systemctl stop nodecast-tv + systemctl stop flatnotes msg_ok "Stopped Service" - fetch_and_deploy_gh_release "nodecast-tv" "technomancer702/nodecast-tv" + msg_info "Backing up Configuration and Data" + cp /opt/flatnotes/.env /tmp/flatnotes.env.bak + cp -r /opt/flatnotes/data /tmp/flatnotes/ + msg_ok "Backed up Configuration and Data" - msg_info "Updating Modules" - cd /opt/nodecast-tv + fetch_and_deploy_gh_release "flatnotes" "dullage/flatnotes" + + msg_info "Updating Frontend" + cd /opt/flatnotes/client $STD npm install - msg_ok "Updated Modules" + $STD npm run build + msg_ok "Updated Frontend" + + msg_info "Updating Backend" + cd /opt/flatnotes + $STD /usr/local/bin/uvx migrate-to-uv + $STD /usr/local/bin/uv sync + msg_ok "Updated Backend" + + msg_info "Restoring Configuration and Data" + cp /tmp/flatnotes.env.bak /opt/flatnotes/.env + cp -r /tmp/flatnotes/data /opt/flatnotes + rm -f /tmp/flatnotes.env.bak + rm -rf /tmp/flatnotes/data + msg_ok "Restored Configuration and Data" msg_info "Starting Service" - systemctl start nodecast-tv + systemctl start flatnotes msg_ok "Started Service" msg_ok "Updated successfully!" fi @@ -55,5 +74,5 @@ 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}:3000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" diff --git a/install/flatnotes-install.sh b/install/flatnotes-install.sh index 84ae21265..db5acf328 100644 --- a/install/flatnotes-install.sh +++ b/install/flatnotes-install.sh @@ -19,9 +19,9 @@ setup_nodejs msg_info "Installing Backend" cd /opt/flatnotes +$STD /usr/local/bin/uvx migrate-to-uv $STD /usr/local/bin/uv sync -$STD source .venv/bin/activate -$STD deactivate +mkdir data msg_ok "Installed Backend" msg_info "Installing Frontend" @@ -30,6 +30,40 @@ $STD npm install $STD npm run build msg_ok "Installed Frontend" +msg_info "Configuring Variables" +cat </opt/flatnotes/.env +FLATNOTES_AUTH_TYPE='none' +FLATNOTES_PATH='/opt/flatnotes/data/' +#FLATNOTES_USERNAME='username' +#FLATNOTES_PASSWORD='password' +#FLATNOTES_SECRET_KEY='secret-key' +EOF +msg_ok "Configured Variables" + +msg_info "Creating Service" +cat </etc/systemd/system/flatnotes.service +[Unit] +Description=Flatnotes +After=network.target + +[Service] +Type=simple +WorkingDirectory=/opt/flatnotes +EnvironmentFile=/opt/flatnotes/.env +ExecStart=/opt/flatnotes/.venv/bin/python -m uvicorn main:app --app-dir server --host 0.0.0.0 --port 8080 --proxy-headers +Restart=on-failure +RestartSec=10 + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now flatnotes +msg_ok "Created Service" + motd_ssh customize cleanup_lxc + + +$STD source .venv/bin/activate +$STD deactivate