mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-12-26 00:46:24 +01:00
Optimize Jotty installation with standalone mode (#10207)
* 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> * 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 * 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 --------- Co-authored-by: fccview <fccview@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
ddf8843b7b
commit
28d34e9169
29
ct/jotty.sh
29
ct/jotty.sh
@ -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"
|
||||
|
||||
@ -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]
|
||||
|
||||
Reference in New Issue
Block a user