<% if (msg) { %>
<%= msg.text %>
<% } %>
<%= t('admin.update.status_title', 'Status Versi') %>
<% if (info && info.error) { %>
<%= info.error %>
<% } %>
<% if (info && info.container) { %>
<%= t('admin.update.container_title', 'Instalasi Container (tanpa .git)') %>
<%= t('admin.update.container_msg', 'Pembaruan TIDAK lewat git. Bangun ulang image dari repo terbaru lalu ganti container:') %>
docker compose build && docker compose up -d
# atau: build image baru, lalu ganti tag/container
<%= t('admin.update.container_safe', 'Data (settings.json, database, uploads) tetap aman bila disimpan di volume/mount.') %>
<% } %>
<% if (!(info && info.container)) { %>
<%= t('admin.update.keep_files', 'File yang tidak ditimpa saat update: settings.json dan folder database. Setelah update selesai, restart aplikasi agar versi baru aktif.') %>
<% } %>
<%= t('admin.update.restart_title', 'Cara Restart Aplikasi') %>
<%= t('admin.update.restart_selfhosted', 'Self-hosted') %>
PM2
pm2 restart all (atau pm2 restart open-isp)
Manual (tanpa PM2)
pkill -f "node app-customer.js"
nohup node app-customer.js > logs/run.log 2>&1 &
Quadlet / systemd
systemctl --user restart open-isp (user)
sudo systemctl restart open-isp (system)
Docker / Podman Compose
docker compose restart
podman compose restart (atau up -d bila env berubah)
Jalankan dari folder aplikasi, lalu muat ulang halaman ini.
<%= t('admin.update.restart_cloud', 'Cloud / managed') %>
Restart dilakukan otomatis pada update berikutnya.
Butuh restart sekarang? Hubungi admin server — jangan jalankan perintah restart sendiri.
Cocok untuk instance yang dikelola penyedia/hosting bersama.
<% if (log) { %>
<%= t('admin.update.log_title', 'Log Update') %>
<% } %>