diff --git a/elemes.sh b/elemes.sh index 4672a10..177f7a2 100755 --- a/elemes.sh +++ b/elemes.sh @@ -90,6 +90,39 @@ generatetoken) echo "🔄 Melakukan sinkronisasi tokens_siswa.csv dari materi yang ada..." python3 "$SCRIPT_DIR/generate_tokens.py" ;; +exportall) + echo "📦 === Mengekspor Semua Image (Pre-Compiled Bundle) ===" + TAR_FILE="lms-c-precompiled.tar" + + echo "🏗️ 1. Mem-build Backend Elemes..." + podman build -t lms-c-backend -f Dockerfile . + + echo "🏗️ 2. Mem-build Frontend Elemes (SvelteKit)..." + podman build -t lms-c-frontend -f frontend/Dockerfile frontend + + echo "🏗️ 3. Mem-build Velxio Simulator..." + podman build -t lms-c-velxio -f velxio/Dockerfile.standalone --build-arg ENABLE_ESP32=${ENABLE_ESP32:-0} velxio + + echo "💾 Menyatukan semua image menjadi 1 file tar: $TAR_FILE..." + podman save -o $TAR_FILE lms-c-backend lms-c-frontend lms-c-velxio + + if [ $? -eq 0 ]; then + echo "✅ Selesai! File '$TAR_FILE' siap di-upload ke VPS." + echo " Di VPS, jalankan: podman load -i $TAR_FILE" + echo " (Jangan lupa set image di podman-compose.yml VPS sesuai nama image di atas)" + else + echo "❌ Export gagal." + fi + ;; +importall) + echo "📦 === Mengimpor Semua Image (Pre-Compiled Bundle) ===" + TAR_FILE="lms-c-precompiled.tar" + + echo "💾 Mengimpor image dari file $TAR_FILE..." + podman load -i $TAR_FILE + + echo "✅ Selesai! Image berhasil diimpor." + ;; loadtest) echo "📊 === Elemes Load Testing ===" cd "$SCRIPT_DIR/load-test" || exit @@ -123,6 +156,7 @@ loadtest) echo " ./elemes.sh runclearbuild # Bersihkan cache, Re-build total, lalu jalankan" echo " ./elemes.sh stop # Menghentikan container yang sedang berjalan" echo " ./elemes.sh generatetoken # Sinkronisasi kolom tokens CSV sesuai file markdown" + echo " ./elemes.sh exportall # Build & Export semua image LMS (Backend, Frontend, Velxio) jadi satu file tar" echo " ./elemes.sh loadtest # Menjalankan utilitas simulasi Load Test (Locust)" ;; esac diff --git a/podman-compose.yml b/podman-compose.yml index c8a80a8..a5d93f0 100644 --- a/podman-compose.yml +++ b/podman-compose.yml @@ -2,7 +2,8 @@ version: '3.8' services: elemes: - build: . + # build: . + image: lms-c-backend:latest volumes: - ../content:/app/content - ../tokens_siswa.csv:/app/tokens.csv @@ -17,7 +18,8 @@ services: # command: python app.py elemes-frontend: - build: ./frontend + # build: ./frontend + image: lms-c-frontend:latest # ports: # - 3000:3000 environment: @@ -31,13 +33,14 @@ services: - elemes velxio: - # image: ghcr.io/a2nr/velxio-elemes:latest - build: - context: ./velxio - dockerfile: Dockerfile.standalone - args: - VITE_BASE_PATH: /velxio/ - VITE_API_BASE: /velxio/api + image: lms-c-velxio:latest +# build: +# context: ./velxio +# dockerfile: Dockerfile.standalone +# args: +# VITE_BASE_PATH: /velxio/ +# VITE_API_BASE: /velxio/api +# ENABLE_ESP32: ${ENABLE_ESP32:-0} environment: - SECRET_KEY=embed-only-no-auth-needed - DATABASE_URL=sqlite+aiosqlite:////app/data/velxio.db diff --git a/velxio b/velxio index c6063e8..eb7f87d 160000 --- a/velxio +++ b/velxio @@ -1 +1 @@ -Subproject commit c6063e8eed96f38eb5d1e4b6b26e8125b5fa09c4 +Subproject commit eb7f87dfbca01b1cbcd7ee05fdf90c10f10ad0fb