mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-08-15 00:56:11 +02:00
Wanderer: Refactor of Services / Installation / Paths (#16487)
This commit is contained in:
+37
-14
@@ -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"
|
||||
|
||||
+13
-23
@@ -15,24 +15,24 @@ update_os
|
||||
|
||||
setup_go
|
||||
NODE_VERSION="22" setup_nodejs
|
||||
mkdir -p /opt/wanderer/{source,data/pb_data,data/meili_data,data/plugins}
|
||||
MEILISEARCH_DB_PATH="/opt/wanderer/data/meili_data" setup_meilisearch
|
||||
fetch_and_deploy_gh_release "wanderer" "open-wanderer/wanderer" "tarball" "latest" "/opt/wanderer/source"
|
||||
mkdir -p /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,wanderer_data/pb_data,wanderer_data/meili_data,wanderer_data/plugins}
|
||||
MEILISEARCH_DB_PATH="/opt/wanderer_data/meili_data" setup_meilisearch
|
||||
fetch_and_deploy_gh_release "wanderer" "open-wanderer/wanderer" "tarball" "latest"
|
||||
mkdir -p /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 (patience)"
|
||||
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
|
||||
msg_ok "Installed wanderer"
|
||||
|
||||
msg_info "Installing wanderer plugins"
|
||||
for plugin in hammerhead komoot strava; do
|
||||
fetch_and_deploy_gh_release "wanderer-plugin-${plugin}" "open-wanderer/wanderer" "prebuild" "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" "latest" "/opt/wanderer_data/plugins" "wanderer-plugin-${plugin}.tar.gz" || msg_warn "Failed to install wanderer plugin: ${plugin}"
|
||||
done
|
||||
msg_ok "Installed wanderer plugins"
|
||||
|
||||
@@ -48,20 +48,10 @@ PB_URL=${LOCAL_IP}:8090
|
||||
PUBLIC_POCKETBASE_URL=http://${LOCAL_IP}:8090
|
||||
PUBLIC_VALHALLA_URL=https://valhalla1.openstreetmap.de
|
||||
POCKETBASE_ENCRYPTION_KEY=${POCKETBASE_KEY}
|
||||
PB_DB_LOCATION=/opt/wanderer/data/pb_data
|
||||
MEILI_DB_PATH=/opt/wanderer/data/meili_data
|
||||
PB_DB_LOCATION=/opt/wanderer_data/pb_data
|
||||
MEILI_DB_PATH=/opt/wanderer_data/meili_data
|
||||
EOF
|
||||
|
||||
cat <<'EOF' >/usr/local/bin/wanderer-pb
|
||||
#!/usr/bin/env bash
|
||||
set -a
|
||||
source /opt/wanderer/.env
|
||||
set +a
|
||||
cd /opt/wanderer/source/db
|
||||
exec ./pocketbase "$@" --dir="$PB_DB_LOCATION"
|
||||
EOF
|
||||
chmod +x /usr/local/bin/wanderer-pb
|
||||
|
||||
cat <<EOF >/etc/systemd/system/wanderer-pocketbase.service
|
||||
[Unit]
|
||||
Description=wanderer PocketBase
|
||||
@@ -73,9 +63,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
|
||||
|
||||
@@ -93,7 +83,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
|
||||
|
||||
Reference in New Issue
Block a user