Skip to content

Commit 11f1fdf

Browse files
Wanderer (#9556)
* 'Add new script' * refactor --------- Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com> Co-authored-by: Tobias <[email protected]>
1 parent 3596312 commit 11f1fdf

File tree

4 files changed

+203
-0
lines changed

4 files changed

+203
-0
lines changed

ct/headers/wanderer

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
_ __ __
2+
| | / /___ _____ ____/ /__ ________ _____
3+
| | /| / / __ `/ __ \/ __ / _ \/ ___/ _ \/ ___/
4+
| |/ |/ / /_/ / / / / /_/ / __/ / / __/ /
5+
|__/|__/\__,_/_/ /_/\__,_/\___/_/ \___/_/
6+

ct/wanderer.sh

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
#!/usr/bin/env bash
2+
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
3+
# Copyright (c) 2021-2025 community-scripts ORG
4+
# Author: rrole
5+
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
6+
# Source: https://wanderer.to
7+
8+
APP="Wanderer"
9+
var_tags="${var_tags:-travelling;sport}"
10+
var_cpu="${var_cpu:-2}"
11+
var_ram="${var_ram:-4096}"
12+
var_disk="${var_disk:-8}"
13+
var_os="${var_os:-debian}"
14+
var_version="${var_version:-13}"
15+
var_unprivileged="${var_unprivileged:-1}"
16+
17+
header_info "$APP"
18+
variables
19+
color
20+
catch_errors
21+
22+
function update_script() {
23+
header_info
24+
check_container_storage
25+
check_container_resources
26+
27+
if [[ ! -f /opt/wanderer/start.sh ]]; then
28+
msg_error "No wanderer Installation Found!"
29+
exit
30+
fi
31+
32+
if check_for_gh_release "wanderer" "Flomp/wanderer"; then
33+
msg_info "Stopping service"
34+
systemctl stop wanderer-web
35+
msg_ok "Stopped service"
36+
37+
fetch_and_deploy_gh_release "wanderer" "Flomp/wanderer" "tarball" "latest" "/opt/wanderer/source"
38+
39+
msg_info "Updating wanderer"
40+
cd /opt/wanderer/source/db
41+
$STD go mod tidy
42+
$STD go build
43+
cd /opt/wanderer/source/web
44+
$STD npm ci --omit=dev
45+
$STD npm run build
46+
msg_ok "Updated wanderer"
47+
48+
msg_info "Starting service"
49+
systemctl start wanderer-web
50+
msg_ok "Started service"
51+
msg_ok "Update Successful"
52+
fi
53+
if check_for_gh_release "meilisearch" "meilisearch/meilisearch"; then
54+
msg_info "Stopping service"
55+
systemctl stop wanderer-web
56+
msg_ok "Stopped service"
57+
58+
fetch_and_deploy_gh_release "meilisearch" "meilisearch/meilisearch" "binary" "latest" "/opt/wanderer/source/search"
59+
60+
msg_info "Starting service"
61+
systemctl start wanderer-web
62+
msg_ok "Started service"
63+
msg_ok "Update Successful"
64+
fi
65+
exit
66+
}
67+
68+
start
69+
build_container
70+
description
71+
72+
msg_ok "Completed Successfully!\n"
73+
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
74+
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
75+
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"

frontend/public/json/wanderer.json

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"name": "Wanderer",
3+
"slug": "wanderer",
4+
"categories": [
5+
0
6+
],
7+
"date_created": "2025-11-23",
8+
"type": "ct",
9+
"updateable": true,
10+
"privileged": false,
11+
"config_path": "/opt/wanderer/.env",
12+
"interface_port": 3000,
13+
"documentation": "https://wanderer.to/welcome",
14+
"website": "https://wanderer.to",
15+
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@master/webp/wanderer-light.webp",
16+
"description": "Wanderer is a decentralized, self-hosted trail database. You can upload your recorded GPS tracks or create new ones and add various metadata to build an easily searchable catalogue.",
17+
"install_methods": [
18+
{
19+
"type": "default",
20+
"script": "ct/wanderer.sh",
21+
"resources": {
22+
"cpu": 2,
23+
"ram": 4096,
24+
"hdd": 8,
25+
"os": "debian",
26+
"version": "13"
27+
}
28+
}
29+
],
30+
"default_credentials": {
31+
"username": null,
32+
"password": null
33+
},
34+
"notes": []
35+
}

install/wanderer-install.sh

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
#!/usr/bin/env bash
2+
3+
# Copyright (c) 2021-2025 community-scripts ORG
4+
# Author: rrole
5+
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
6+
# Source: https://wanderer.to
7+
8+
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
9+
color
10+
verb_ip6
11+
catch_errors
12+
setting_up_container
13+
network_check
14+
update_os
15+
16+
setup_go
17+
setup_nodejs
18+
fetch_and_deploy_gh_release "meilisearch" "meilisearch/meilisearch" "binary" "latest" "/opt/wanderer/source/search"
19+
mkdir -p /opt/wanderer/{source,data/pb_data,data/meili_data}
20+
fetch_and_deploy_gh_release "wanderer" "Flomp/wanderer" "tarball" "latest" "/opt/wanderer/source"
21+
22+
msg_info "Installing wanderer (patience)"
23+
cd /opt/wanderer/source/db
24+
$STD go mod tidy
25+
$STD go build
26+
cd /opt/wanderer/source/web
27+
$STD npm ci -s vitest
28+
$STD npm ci --omit=dev
29+
$STD npm run build
30+
msg_ok "Installed wanderer"
31+
32+
msg_info "Creating Service"
33+
MEILI_KEY=$(openssl rand -hex 32)
34+
POCKETBASE_KEY=$(openssl rand -hex 16)
35+
LOCAL_IP="$(hostname -I | awk '{print $1}')"
36+
37+
cat <<EOF >/opt/wanderer/.env
38+
ORIGIN=http://${LOCAL_IP}:3000
39+
MEILI_HTTP_ADDR=${LOCAL_IP}:7700
40+
MEILI_URL=http://${LOCAL_IP}:7700
41+
MEILI_MASTER_KEY=${MEILI_KEY}
42+
PB_URL=${LOCAL_IP}:8090
43+
PUBLIC_POCKETBASE_URL=http://${LOCAL_IP}:8090
44+
PUBLIC_VALHALLA_URL=https://valhalla1.openstreetmap.de
45+
POCKETBASE_ENCRYPTION_KEY=${POCKETBASE_KEY}
46+
PB_DB_LOCATION=/opt/wanderer/data/pb_data
47+
MEILI_DB_PATH=/opt/wanderer/data/meili_data
48+
EOF
49+
50+
cat <<EOF >/opt/wanderer/start.sh
51+
#!/usr/bin/env bash
52+
53+
trap "kill 0" EXIT
54+
55+
cd /opt/wanderer/source/search && meilisearch --master-key \$MEILI_MASTER_KEY &
56+
sleep 1
57+
cd /opt/wanderer/source/db && ./pocketbase serve --http=\$PB_URL --dir=\$PB_DB_LOCATION &
58+
cd /opt/wanderer/source/web && node build &
59+
60+
wait -n
61+
EOF
62+
chmod +x /opt/wanderer/start.sh
63+
64+
cat <<EOF >/etc/systemd/system/wanderer-web.service
65+
[Unit]
66+
Description=wanderer
67+
After=network.target
68+
StartLimitIntervalSec=10
69+
StartLimitBurst=5
70+
71+
[Service]
72+
Type=simple
73+
EnvironmentFile=/opt/wanderer/.env
74+
ExecStart=/usr/bin/bash /opt/wanderer/start.sh
75+
Restart=always
76+
RestartSec=1
77+
78+
[Install]
79+
WantedBy=multi-user.target
80+
EOF
81+
sleep 1
82+
systemctl enable -q --now wanderer-web
83+
msg_ok "Created Service"
84+
85+
motd_ssh
86+
customize
87+
cleanup_lxc

0 commit comments

Comments
 (0)