From f8cc69e2447b813cf16e68d3f0f4c7f1c2c019d6 Mon Sep 17 00:00:00 2001 From: "CanbiZ (MickLesk)" <47820557+MickLesk@users.noreply.github.com> Date: Mon, 20 Jul 2026 11:55:01 +0200 Subject: [PATCH] Gotify: Migration to v3 (#15912) --- ct/gotify.sh | 24 ++++++++++++++++++++++++ install/gotify-install.sh | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/ct/gotify.sh b/ct/gotify.sh index 0615a2342..cf15fc124 100644 --- a/ct/gotify.sh +++ b/ct/gotify.sh @@ -36,6 +36,30 @@ function update_script() { fetch_and_deploy_gh_release "gotify" "gotify/server" "prebuild" "latest" "/opt/gotify" "gotify-linux-$(arch_resolve).zip" chmod +x /opt/gotify/gotify-linux-$(arch_resolve) + if [[ ! -f /opt/gotify/gotify-server.env ]]; then + gotify_old_config="" + for f in /opt/gotify/config.yml /etc/gotify/config.yml; do + [[ -f "$f" ]] && gotify_old_config="$f" && break + done + if [[ -n "$gotify_old_config" ]]; then + msg_info "Migrating ${gotify_old_config} to env format (Gotify 3.x)" + if /opt/gotify/gotify-linux-$(arch_resolve) migrate-config "$gotify_old_config" >/opt/gotify/gotify-server.env 2>/dev/null; then + mv "$gotify_old_config" "${gotify_old_config}.bak" + msg_ok "Migrated config to /opt/gotify/gotify-server.env (backup: ${gotify_old_config}.bak)" + else + rm -f /opt/gotify/gotify-server.env + msg_warn "Config migration failed — left ${gotify_old_config} in place, review manually" + fi + fi + fi + + if ! grep -qE '^ExecStart=.* serve' /etc/systemd/system/gotify.service 2>/dev/null; then + msg_info "Migrating service to serve subcommand (Gotify 3.x)" + sed -i -E 's|^(ExecStart=/opt/gotify/.*gotify-linux-[^ ]+)$|\1 serve|' /etc/systemd/system/gotify.service + systemctl daemon-reload + msg_ok "Migrated service to serve subcommand" + fi + msg_info "Starting Service" systemctl start gotify msg_ok "Started Service" diff --git a/install/gotify-install.sh b/install/gotify-install.sh index 44444c74f..c9623be69 100644 --- a/install/gotify-install.sh +++ b/install/gotify-install.sh @@ -27,7 +27,7 @@ After=network.target Type=simple User=root WorkingDirectory=/opt/gotify -ExecStart=/opt/gotify/./gotify-linux-$(arch_resolve) +ExecStart=/opt/gotify/gotify-linux-$(arch_resolve) serve Restart=always RestartSec=3