Super Admin: server, pembaruan, dan backup
Isi .env, memperbarui aplikasi, migrasi database otomatis, backup harian, dan memulihkan data.
Untuk Super Admin
Pengaturan server (.env)
Rahasia dan kunci hanya disimpan di `.env` di server, jangan dikirim lewat chat. Yang wajib: `DATABASE_URL`, `SESSION_SECRET`, dan `APP_URL` (alamat HTTPS publik). Yang opsional: iPaymu, email SMTP (verifikasi daftar dan lupa password), Cloudinary (gambar produk), WhatsApp, VIP-Reseller, chat AI, dan unduhan APK. Daftar lengkap ada di `.env.example`.
Memperbarui aplikasi
- Salin kode baru ke server, `npm ci`, lalu `npm run build`.
- Restart (mis. `pm2 restart pos`). Migrasi database berjalan otomatis saat start; data lama tetap ada.
- Cek log dengan `pm2 logs pos`.
Jangan menimpa database server dengan "database kosong": semua data toko akan hilang.
Backup
- Jadwalkan `npm run backup` setiap hari, mis. cron `0 2 * * * cd /opt/pos && npm run backup`. Hasil diperiksa (integrity check) dan backup lebih tua dari 14 hari dihapus.
- Salin ke luar server: isi `BACKUP_COPY_CMD` (mis. `rclone copy {file} gdrive:pos-backup`) dan `BACKUP_ENCRYPT_KEY` supaya salinannya terenkripsi. Simpan kata sandinya di pengelola password.
- Status backup terakhir tampil di Kelola toko › Backup database. Peringatan "Belum ada backup" berarti jadwal belum berjalan.
Memulihkan
`BACKUP_ENCRYPT_KEY=... npm run backup:decrypt -- file.db.enc pulih.db`, hentikan aplikasi, ganti file database dengan hasilnya, lalu jalankan lagi.
Aplikasi HP
Taruh file APK di `data/downloads/` (atau isi `ANDROID_APK_URL`) supaya halaman /unduh menawarkannya. `MIN_APP_BUILD` memaksa aplikasi lama memperbarui.