Compare commits

..

7 Commits

Author SHA1 Message Date
7bc97edce6 Update systemd service in jotty update script
- Recreate systemd service file with correct ExecStart command
- Change from 'yarn start' to '/usr/bin/node server.js'
- Ensures old installations get updated service configuration
- Run daemon-reload after service file update
2025-12-21 22:59:32 +01:00
9fe00ae3c6 Apply standalone mode optimization to Jotty update script
- Use standalone mode in update_script function
- Ensures updates maintain the optimized deployment structure
- Consistent with install script changes
2025-12-21 22:58:18 +01:00
f139c6960f Optimize Jotty installation with standalone mode
- Use Next.js standalone mode to reduce folder size from ~2.4GB to ~80MB
- Copy public, howto, and static folders to standalone output
- Remove node_modules and build artifacts after creating standalone version
- Update systemd service to use node directly instead of yarn start
- Improves build efficiency and reduces disk usage

Implements #10178
Co-authored-by: fccview <fccview@users.noreply.github.com>
2025-12-21 22:57:33 +01:00
6dab7728df Update .app files (#10202)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-12-21 22:45:09 +01:00
abfe97a9c9 Update CHANGELOG.md (#10201)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-21 20:46:41 +00:00
174721bc14 Refactor (#10193) 2025-12-21 21:46:17 +01:00
8c1f42f6c1 Update versions.json (#10198)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-21 13:06:28 +01:00
9 changed files with 110 additions and 140 deletions

View File

@ -18,6 +18,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
- Typo fix in Heimdall install script [@Turcid-uwu](https://github.com/Turcid-uwu) ([#10187](https://github.com/community-scripts/ProxmoxVE/pull/10187))
- #### 🔧 Refactor
- Refactor: Backrest [@tremor021](https://github.com/tremor021) ([#10193](https://github.com/community-scripts/ProxmoxVE/pull/10193))
### 🧰 Tools
- pihole-exporter ([#10091](https://github.com/community-scripts/ProxmoxVE/pull/10091))

View File

@ -27,28 +27,18 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/garethgeorge/backrest/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
if check_for_gh_release "backrest" "garethgeorge/backrest"; then
msg_info "Stopping Service"
systemctl stop backrest
msg_ok "Stopped Service"
msg_info "Updating ${APP} to ${RELEASE}"
temp_file=$(mktemp)
rm -f /opt/backrest/bin/backrest
curl -fsSL "https://github.com/garethgeorge/backrest/releases/download/v${RELEASE}/backrest_Linux_x86_64.tar.gz" -o "$temp_file"
tar xzf $temp_file -C /opt/backrest/bin
chmod +x /opt/backrest/bin/backrest
rm -f "$temp_file"
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
fetch_and_deploy_gh_release "backrest" "garethgeorge/backrest" "prebuild" "latest" "/opt/backrest/bin" "backrest_Linux_x86_64.tar.gz"
msg_info "Starting Service"
systemctl start backrest
msg_ok "Started Service"
msg_ok "Updated successfully!"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit
}

View File

@ -48,6 +48,17 @@ function update_script() {
$STD yarn --frozen-lockfile
$STD yarn next telemetry disable
$STD yarn build
[ -d "public" ] && cp -r public .next/standalone/
[ -d "howto" ] && cp -r howto .next/standalone/
mkdir -p .next/standalone/.next
cp -r .next/static .next/standalone/.next/
mv .next/standalone /tmp/jotty_standalone
rm -rf * .next .git .gitignore .yarn
mv /tmp/jotty_standalone/* .
mv /tmp/jotty_standalone/.[!.]* . 2>/dev/null || true
rm -rf /tmp/jotty_standalone
msg_ok "Updated jotty"
msg_info "Restoring configuration & data"
@ -55,6 +66,24 @@ function update_script() {
$STD tar -xf /opt/data_config.tar
msg_ok "Restored configuration & data"
msg_info "Updating Service"
cat <<EOF >/etc/systemd/system/jotty.service
[Unit]
Description=jotty server
After=network.target
[Service]
WorkingDirectory=/opt/jotty
EnvironmentFile=/opt/jotty/.env
ExecStart=/usr/bin/node server.js
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
msg_ok "Updated Service"
msg_info "Starting Service"
systemctl start jotty
msg_ok "Started Service"

View File

@ -27,37 +27,6 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
if [ ! -d /var/cache/nginx/tiles ]; then
msg_info "Installing Nginx Tile Cache"
mkdir -p /var/cache/nginx/tiles
$STD apt install -y nginx
cat <<EOF >/etc/nginx/nginx.conf
events {
worker_connections 1024;
}
http {
proxy_cache_path /var/cache/nginx/tiles levels=1:2 keys_zone=tiles:10m max_size=1g inactive=30d use_temp_path=off;
server {
listen 80;
location / {
proxy_pass https://tile.openstreetmap.org/;
proxy_set_header Host tile.openstreetmap.org;
proxy_set_header User-Agent "Reitti/1.0";
proxy_cache tiles;
proxy_cache_valid 200 30d;
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
}
}
}
EOF
chown -R www-data:www-data /var/cache/nginx/tiles
systemctl restart nginx
echo "reitti.ui.tiles.cache.url=http://127.0.0.1" >> /opt/reitti/application.properties
systemctl restart reitti
msg_info "Installed Nginx Tile Cache"
fi
if check_for_gh_release "reitti" "dedicatedcode/reitti"; then
msg_info "Stopping Service"
systemctl stop reitti
@ -98,4 +67,4 @@ description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"

View File

@ -1,8 +1,58 @@
[
{
"name": "msgbyte/tianji",
"version": "v1.30.24",
"date": "2025-12-21T10:26:35Z"
},
{
"name": "hyperion-project/hyperion.ng",
"version": "2.1.1",
"date": "2025-06-14T17:45:06Z"
},
{
"name": "pocketbase/pocketbase",
"version": "v0.35.0",
"date": "2025-12-21T07:44:15Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.3",
"date": "2025-09-20T12:12:33Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.24.498",
"date": "2025-12-21T05:55:52Z"
},
{
"name": "scanopy/scanopy",
"version": "v0.12.5",
"date": "2025-12-20T22:40:12Z"
"date": "2025-12-21T05:36:12Z"
},
{
"name": "fuma-nama/fumadocs",
"version": "fumadocs-ui@16.3.2",
"date": "2025-12-21T05:23:55Z"
},
{
"name": "dedicatedcode/reitti",
"version": "v3.0.1",
"date": "2025-12-21T04:35:21Z"
},
{
"name": "intri-in/manage-my-damn-life-nextjs",
"version": "v0.8.2",
"date": "2025-12-21T03:53:53Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.1.0",
"date": "2025-11-23T12:13:34Z"
},
{
"name": "jeedom/core",
"version": "4.5.1",
"date": "2025-12-21T00:27:04Z"
},
{
"name": "Luligu/matterbridge",
@ -39,11 +89,6 @@
"version": "v14.3.0",
"date": "2025-12-20T13:16:37Z"
},
{
"name": "fuma-nama/fumadocs",
"version": "create-fumadocs-app@16.0.30",
"date": "2025-12-20T10:47:00Z"
},
{
"name": "zwave-js/zwave-js-ui",
"version": "v11.9.1",
@ -59,31 +104,11 @@
"version": "v6.4.14",
"date": "2025-12-16T05:42:34Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.24.488",
"date": "2025-12-20T05:55:23Z"
},
{
"name": "louislam/uptime-kuma",
"version": "2.0.2",
"date": "2025-10-22T17:03:54Z"
},
{
"name": "hyperion-project/hyperion.ng",
"version": "2.1.1",
"date": "2025-06-14T17:45:06Z"
},
{
"name": "jeedom/core",
"version": "4.5.1",
"date": "2025-12-20T00:27:06Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.1.0",
"date": "2025-11-23T12:13:34Z"
},
{
"name": "Dispatcharr/Dispatcharr",
"version": "v0.15.0",
@ -174,11 +199,6 @@
"version": "v25.4",
"date": "2025-10-09T10:27:01Z"
},
{
"name": "dedicatedcode/reitti",
"version": "v3.0.0",
"date": "2025-12-19T13:47:44Z"
},
{
"name": "raydak-labs/configarr",
"version": "v1.19.0",
@ -224,11 +244,6 @@
"version": "v11.1.2",
"date": "2025-12-17T09:26:24Z"
},
{
"name": "morpheus65535/bazarr",
"version": "v1.5.3",
"date": "2025-09-20T12:12:33Z"
},
{
"name": "jhuckaby/Cronicle",
"version": "v0.9.102",
@ -242,7 +257,7 @@
{
"name": "mealie-recipes/mealie",
"version": "v3.8.0",
"date": "2025-12-19T01:37:16Z"
"date": "2025-12-19T01:37:04Z"
},
{
"name": "moghtech/komodo",
@ -284,11 +299,6 @@
"version": "2025.11.2",
"date": "2025-12-18T17:08:34Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.30.23",
"date": "2025-12-18T16:55:01Z"
},
{
"name": "ollama/ollama",
"version": "v0.13.5",
@ -844,11 +854,6 @@
"version": "v1.7.4",
"date": "2025-12-04T13:56:39Z"
},
{
"name": "pocketbase/pocketbase",
"version": "v0.34.2",
"date": "2025-12-04T13:08:18Z"
},
{
"name": "glpi-project/glpi",
"version": "11.0.4",
@ -1404,11 +1409,6 @@
"version": "v2.7.6",
"date": "2025-09-15T15:50:44Z"
},
{
"name": "intri-in/manage-my-damn-life-nextjs",
"version": "v0.8.1",
"date": "2025-09-14T06:45:23Z"
},
{
"name": "ThePhaseless/Byparr",
"version": "v2.0.1",

View File

@ -13,16 +13,7 @@ setting_up_container
network_check
update_os
msg_info "Installing Backrest"
RELEASE=$(curl -fsSL https://api.github.com/repos/garethgeorge/backrest/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
temp_file=$(mktemp)
mkdir -p /opt/backrest/{bin,config,data}
curl -fsSL "https://github.com/garethgeorge/backrest/releases/download/v${RELEASE}/backrest_Linux_x86_64.tar.gz" -o "$temp_file"
tar xzf $temp_file -C /opt/backrest/bin
chmod +x /opt/backrest/bin/backrest
rm -f "$temp_file"
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
msg_ok "Installed Backrest"
fetch_and_deploy_gh_release "backrest" "garethgeorge/backrest" "prebuild" "latest" "/opt/backrest/bin" "backrest_Linux_x86_64.tar.gz"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/backrest.service
@ -32,7 +23,6 @@ After=network.target
[Service]
Type=simple
User=root
ExecStart=/opt/backrest/bin/backrest
Environment="BACKREST_PORT=9898"
Environment="BACKREST_CONFIG=/opt/backrest/config/config.json"
@ -48,4 +38,3 @@ msg_ok "Created Service"
motd_ssh
customize
cleanup_lxc

View File

@ -21,6 +21,18 @@ cd /opt/jotty
$STD yarn --frozen-lockfile
$STD yarn next telemetry disable
$STD yarn build
[ -d "public" ] && cp -r public .next/standalone/
[ -d "howto" ] && cp -r howto .next/standalone/
mkdir -p .next/standalone/.next
cp -r .next/static .next/standalone/.next/
mv .next/standalone /tmp/jotty_standalone
rm -rf * .next .git .gitignore .yarn
mv /tmp/jotty_standalone/* .
mv /tmp/jotty_standalone/.[!.]* . 2>/dev/null || true
rm -rf /tmp/jotty_standalone
mkdir -p data/{users,checklists,notes}
cat <<EOF >/opt/jotty/.env
@ -55,7 +67,7 @@ After=network.target
[Service]
WorkingDirectory=/opt/jotty
EnvironmentFile=/opt/jotty/.env
ExecStart=yarn start
ExecStart=/usr/bin/node server.js
Restart=on-abnormal
[Install]

View File

@ -18,8 +18,7 @@ $STD apt install -y \
redis-server \
rabbitmq-server \
libpq-dev \
zstd \
nginx
zstd
msg_ok "Installed Dependencies"
JAVA_VERSION="25" setup_java
@ -47,31 +46,6 @@ mv /opt/reitti/reitti-*.jar /opt/reitti/reitti.jar
USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "photon" "komoot/photon" "singlefile" "latest" "/opt/photon" "photon-0*.jar"
mv /opt/photon/photon-*.jar /opt/photon/photon.jar
msg_info "Installing Nginx Tile Cache"
mkdir -p /var/cache/nginx/tiles
cat <<EOF >/etc/nginx/nginx.conf
events {
worker_connections 1024;
}
http {
proxy_cache_path /var/cache/nginx/tiles levels=1:2 keys_zone=tiles:10m max_size=1g inactive=30d use_temp_path=off;
server {
listen 80;
location / {
proxy_pass https://tile.openstreetmap.org/;
proxy_set_header Host tile.openstreetmap.org;
proxy_set_header User-Agent "Reitti/1.0";
proxy_cache tiles;
proxy_cache_valid 200 30d;
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
}
}
}
EOF
chown -R www-data:www-data /var/cache/nginx/tiles
systemctl restart nginx
msg_info "Installed Nginx Tile Cache"
msg_info "Creating Reitti Configuration-File"
mkdir -p /opt/reitti/data
cat <<EOF >/opt/reitti/application.properties
@ -118,9 +92,6 @@ PROCESSING_WORKERS_PER_QUEUE=4-16
# Disable potentially dangerous features unless needed
DANGEROUS_LIFE=false
# Tiles Cache
reitti.ui.tiles.cache.url=http://127.0.0.1
EOF
msg_ok "Created Configuration-File for Reitti"

View File

@ -0,0 +1,6 @@
_ __ __ __
____ (_) /_ ____ / /__ ___ _ ______ ____ _____/ /____ _____
/ __ \/ / __ \/ __ \/ / _ \______/ _ \| |/_/ __ \/ __ \/ ___/ __/ _ \/ ___/
/ /_/ / / / / / /_/ / / __/_____/ __/> </ /_/ / /_/ / / / /_/ __/ /
/ .___/_/_/ /_/\____/_/\___/ \___/_/|_/ .___/\____/_/ \__/\___/_/
/_/ /_/