DEPLOY SIS LPK SEKAI JAPAN KE DOMAINESIA ======================================== Paket ini adalah aplikasi Next.js standalone/Node.js, bukan website HTML biasa. Jangan hanya memindahkan isi paket ke public_html. A. PERSIAPAN CPANEL ------------------- 1. Buat subdomain, contoh: sis.bgsx.biz.id 2. Aktifkan Runtime Manager/Node.js pada cPanel. 3. Buat Node.js Application: Node.js version : 22 Application mode : Production Application root : sis-sekai-japan Application URL : sis.bgsx.biz.id Application startup file : server.js B. UPLOAD --------- 1. Masuk ke File Manager. 2. Buka folder application root: sis-sekai-japan 3. Upload ZIP paket deploy. 4. Extract langsung di folder tersebut. 5. Struktur yang benar: sis-sekai-japan/ ├── .next/ ├── data/ ├── node_modules/ ├── public/ ├── scripts/ ├── supabase/ ├── server.js ├── package.json ├── .env.example └── DEPLOY-DOMAINESIA.txt server.js harus langsung berada di application root, bukan di subfolder tambahan. C. ENVIRONMENT VARIABLES WAJIB ------------------------------ Tambahkan melalui Setup Node.js App: NEXTAUTH_URL=https://sis.bgsx.biz.id NEXTAUTH_SECRET=SECRET_RANDOM_MINIMAL_32_KARAKTER ADMIN_NAME=Administrator SEKAI JAPAN ADMIN_EMAIL=admin@bgsx.biz.id ADMIN_PASSWORD=PASSWORD_ADMIN_YANG_KUAT Buat NEXTAUTH_SECRET melalui terminal: openssl rand -base64 48 D. DATABASE ----------- Opsi 1 - Demo Lokal: Jangan isi SUPABASE_URL dan SUPABASE_SERVICE_ROLE_KEY. Aplikasi langsung berjalan menggunakan data demo di folder data. Jangan gunakan mode ini untuk data siswa nyata jangka panjang. Opsi 2 - Supabase Production: 1. Buat project Supabase. 2. Jalankan file supabase/schema.sql melalui Supabase SQL Editor. 3. Tambahkan environment variables: SUPABASE_URL=https://PROJECT.supabase.co SUPABASE_SERVICE_ROLE_KEY=service-role-key 4. Untuk memasukkan data awal, jalankan dari Terminal cPanel pada application root: node scripts/seed-supabase.mjs Service role key hanya boleh disimpan di server dan tidak boleh dikirim ke browser. E. JALANKAN ----------- 1. Kembali ke Setup Node.js App. 2. Pastikan startup file: server.js 3. Klik Restart Application. 4. Buka: https://sis.bgsx.biz.id/auth/login Login menggunakan ADMIN_EMAIL dan ADMIN_PASSWORD yang ditambahkan pada environment variables. F. JIKA ERROR 503 ----------------- Periksa: - Node.js 22 aktif. - Application mode Production. - Application root benar. - Startup file server.js. - server.js ada langsung di application root. - NEXTAUTH_URL sama persis dengan URL HTTPS aplikasi. - NEXTAUTH_SECRET, ADMIN_EMAIL, dan ADMIN_PASSWORD terisi. - Klik Restart Application setelah mengubah environment variables. G. KEAMANAN ----------- - Ganti password admin setelah deployment. - Jangan membagikan SUPABASE_SERVICE_ROLE_KEY. - Gunakan HTTPS. - Gunakan Supabase untuk data produksi. - Backup database dan dokumen secara berkala.