mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-09-07 22:36:45 +00:00
Wanderer: Refactor of Services / Installation / Paths (#16487)
This commit is contained in:
@@ -25,7 +25,7 @@ function update_script() {
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
|
||||
if [[ ! -d /opt/wanderer/source ]]; then
|
||||
if [[ ! -d /opt/wanderer/source && ! -d /opt/wanderer/db ]]; then
|
||||
msg_error "No wanderer Installation Found!"
|
||||
exit
|
||||
fi
|
||||
@@ -35,11 +35,15 @@ function update_script() {
|
||||
systemctl stop wanderer-web
|
||||
|
||||
rm -rf /opt/wanderer/source/search
|
||||
mkdir -p /opt/wanderer_data
|
||||
[[ -d /opt/wanderer/data/meili_data ]] && cp -r /opt/wanderer/data/meili_data /opt/wanderer_data/
|
||||
mkdir -p /opt/wanderer_data/meili_data
|
||||
rm -rf /opt/wanderer/data/meili_data
|
||||
MEILI_MASTER_KEY_VAL=$(grep -oP '^MEILI_MASTER_KEY=\K.*' /opt/wanderer/.env)
|
||||
cat <<EOF >/etc/meilisearch.toml
|
||||
env = "production"
|
||||
master_key = "$MEILI_MASTER_KEY_VAL"
|
||||
db_path = "/opt/wanderer/data/meili_data"
|
||||
db_path = "/opt/wanderer_data/meili_data"
|
||||
dump_dir = "/var/lib/meilisearch/dumps"
|
||||
snapshot_dir = "/var/lib/meilisearch/snapshots"
|
||||
no_analytics = true
|
||||
@@ -72,11 +76,30 @@ EOF
|
||||
|
||||
setup_meilisearch
|
||||
|
||||
if [[ -f /opt/wanderer/start.sh ]]; then
|
||||
if [[ -f /opt/wanderer/start.sh || -d /opt/wanderer/source ]]; then
|
||||
msg_info "Migrating wanderer services"
|
||||
systemctl stop wanderer-web
|
||||
rm -f /opt/wanderer/start.sh
|
||||
rm -rf /opt/wanderer/source/search
|
||||
|
||||
mkdir -p /opt/wanderer_data
|
||||
[[ -d /opt/wanderer/data/pb_data ]] && cp -r /opt/wanderer/data/pb_data /opt/wanderer_data/
|
||||
[[ -d /opt/wanderer/data/plugins ]] && cp -r /opt/wanderer/data/plugins /opt/wanderer_data/
|
||||
mkdir -p /opt/wanderer_data/{pb_data,plugins}
|
||||
rm -rf /opt/wanderer/data
|
||||
|
||||
[[ -d /opt/wanderer/source ]] && cp -r /opt/wanderer/source/. /opt/wanderer/
|
||||
rm -rf /opt/wanderer/source
|
||||
|
||||
if [[ -d /opt/wanderer/db/data ]]; then
|
||||
[[ -e /opt/wanderer/db/data/plugins ]] || ln -sfn /opt/wanderer_data/plugins /opt/wanderer/db/data/plugins
|
||||
fi
|
||||
|
||||
sed -i \
|
||||
-e "s|^PB_DB_LOCATION=.*|PB_DB_LOCATION=/opt/wanderer_data/pb_data|" \
|
||||
-e "s|^MEILI_DB_PATH=.*|MEILI_DB_PATH=/opt/wanderer_data/meili_data|" \
|
||||
/opt/wanderer/.env
|
||||
sed -i "s|^db_path =.*|db_path = \"/opt/wanderer_data/meili_data\"|" /etc/meilisearch.toml
|
||||
rm -f /usr/local/bin/wanderer-pb
|
||||
|
||||
cat <<EOF >/etc/systemd/system/wanderer-pocketbase.service
|
||||
[Unit]
|
||||
@@ -89,9 +112,9 @@ StartLimitBurst=5
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
WorkingDirectory=/opt/wanderer/source/db
|
||||
WorkingDirectory=/opt/wanderer/db
|
||||
EnvironmentFile=/opt/wanderer/.env
|
||||
ExecStart=/opt/wanderer/source/db/pocketbase serve --http=\${PB_URL} --dir=\${PB_DB_LOCATION}
|
||||
ExecStart=/opt/wanderer/db/pocketbase serve --http=\${PB_URL} --dir=\${PB_DB_LOCATION}
|
||||
Restart=always
|
||||
RestartSec=1
|
||||
|
||||
@@ -109,7 +132,7 @@ StartLimitBurst=5
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
WorkingDirectory=/opt/wanderer/source/web
|
||||
WorkingDirectory=/opt/wanderer/web
|
||||
EnvironmentFile=/opt/wanderer/.env
|
||||
ExecStart=/usr/bin/node build
|
||||
Restart=always
|
||||
@@ -129,22 +152,22 @@ EOF
|
||||
systemctl stop wanderer-web
|
||||
msg_ok "Stopped service"
|
||||
|
||||
create_backup /opt/wanderer/source
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "wanderer" "open-wanderer/wanderer" "tarball" "latest" "/opt/wanderer/source"
|
||||
create_backup /opt/wanderer/.env
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "wanderer" "open-wanderer/wanderer" "tarball" "latest"
|
||||
restore_backup
|
||||
|
||||
msg_info "Updating wanderer"
|
||||
cd /opt/wanderer/source/db
|
||||
cd /opt/wanderer/db
|
||||
$STD go mod tidy
|
||||
$STD go build
|
||||
cd /opt/wanderer/source/web
|
||||
cd /opt/wanderer/web
|
||||
$STD npm ci
|
||||
$STD npm run build
|
||||
mkdir -p /opt/wanderer/data/plugins /opt/wanderer/source/db/data
|
||||
[[ -e /opt/wanderer/source/db/data/plugins ]] || ln -sfn /opt/wanderer/data/plugins /opt/wanderer/source/db/data/plugins
|
||||
mkdir -p /opt/wanderer_data/plugins /opt/wanderer/db/data
|
||||
[[ -e /opt/wanderer/db/data/plugins ]] || ln -sfn /opt/wanderer_data/plugins /opt/wanderer/db/data/plugins
|
||||
msg_info "Installing wanderer plugins"
|
||||
for plugin in hammerhead komoot strava; do
|
||||
fetch_and_deploy_gh_release "wanderer-plugin-${plugin}" "open-wanderer/wanderer" "prebuild" "${CHECK_UPDATE_RELEASE:-latest}" "/opt/wanderer/data/plugins" "wanderer-plugin-${plugin}.tar.gz" || msg_warn "Failed to install wanderer plugin: ${plugin}"
|
||||
fetch_and_deploy_gh_release "wanderer-plugin-${plugin}" "open-wanderer/wanderer" "prebuild" "${CHECK_UPDATE_RELEASE:-latest}" "/opt/wanderer_data/plugins" "wanderer-plugin-${plugin}.tar.gz" || msg_warn "Failed to install wanderer plugin: ${plugin}"
|
||||
done
|
||||
msg_ok "Installed wanderer plugins"
|
||||
msg_ok "Updated wanderer"
|
||||
|
||||
Reference in New Issue
Block a user