[refactor] Seelf (#4954)

* Refactor seelf

* Update

* Update

* Update
This commit is contained in:
Slaviša Arežina
2025-06-04 10:10:05 +02:00
committed by GitHub
parent ff12d802cc
commit 03eff3a2e1
2 changed files with 30 additions and 56 deletions

View File

@ -1,7 +1,7 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: tremor021
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/YuukanOO/seelf
@ -20,49 +20,31 @@ color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/seelf ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/YuukanOO/seelf/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Updating $APP"
msg_info "Stopping $APP"
systemctl stop seelf
msg_ok "Stopped $APP"
msg_info "Updating $APP to v${RELEASE}. Patience"
export PATH=$PATH:/usr/local/go/bin
source ~/.bashrc
curl -fsSL "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz")
tar -xzf v${RELEASE}.tar.gz
cp -r seelf-${RELEASE}/ /opt/seelf
cd /opt/seelf
$STD make build
msg_ok "Updated $APP to v${RELEASE}"
msg_info "Starting $APP"
systemctl start seelf
msg_ok "Started $APP"
# Cleaning up
msg_info "Cleaning Up"
rm -f ~/*.tar.gz
rm -rf ~/seelf-${RELEASE}
msg_ok "Cleanup Completed"
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Update Successful"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}"
fi
if [[ ! -d /opt/seelf ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if fetch_and_deploy_gh_release "YuukanOO/seelf"; then
msg_ok "$APP already at the latest version. No update required."
else
msg_info "Stopping $APP"
systemctl stop seelf
msg_ok "Stopped $APP"
msg_info "Updating $APP"
cd /opt/seelf
$STD make build
msg_ok "Updated $APP"
msg_info "Starting $APP"
systemctl start seelf
msg_ok "Started $APP"
fi
exit
}
start

View File

@ -1,7 +1,7 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: tremor021
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/YuukanOO/seelf
@ -21,21 +21,17 @@ msg_ok "Installed Dependencies"
install_go
NODE_VERSION="22" install_node_and_modules
fetch_and_deploy_gh_release "YuukanOO/seelf"
msg_info "Setting up seelf. Patience"
RELEASE=$(curl -fsSL https://api.github.com/repos/YuukanOO/seelf/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz" -o "v${RELEASE}.tar.gz"
tar -xzf v"${RELEASE}".tar.gz
mv seelf-"${RELEASE}"/ /opt/seelf
cd /opt/seelf
$STD make build
PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
mkdir -p /opt/seelf/data
{
echo "ADMIN_EMAIL=admin@example.com"
echo "ADMIN_PASSWORD=$PASS"
} | tee .env ~/seelf.creds >/dev/null
echo "${RELEASE}" >/opt/seelf_version.txt
SEELF_ADMIN_EMAIL=admin@example.com SEELF_ADMIN_PASSWORD=$PASS ./seelf serve &>/dev/null &
sleep 5
kill $!
@ -51,8 +47,10 @@ After=network.target
Type=simple
User=root
Group=root
EnvironmentFile=/opt/seelf/.env
Environment=DATA_PATH=/opt/seelf/data
WorkingDirectory=/opt/seelf
ExecStart=/opt/seelf/./seelf serve
ExecStart=/opt/seelf/./seelf -c data/conf.yml serve
Restart=always
[Install]
@ -64,13 +62,7 @@ msg_ok "Created Service"
motd_ssh
customize
# Cleanup
msg_info "Cleaning up"
rm -f ~/v"${RELEASE}".tar.gz
rm -f "$temp_file"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
motd_ssh
customize