FlazHost | xPose & Runner
Dua tools dalam satu extension — powered by FlazHost:
- 🌐 xPose — tunnel aplikasi lokal ke internet dalam 1 klik (auto port detection, HTTPS, no setup)
- 🚀 Runner — deploy aplikasi ke server FlazHost langsung dari VS Code (auto-detect stack, generate Dockerfile, CI/CD otomatis)
Satu kali sign-in, satu API token, dua produk.
Setup (sekali, untuk semua fitur)
1. Generate API Token di FlazHost
- Login di flazhost.com
- Buka https://flazhost.com/client/api-tokens
- Klik Generate Token → kasih nama (mis. "VSCode laptop kerja")
- Copy token (hanya tampil sekali!) — format
flz_...
Token otomatis dapat scope xpose + runner — bisa dipakai untuk kedua fitur.
2. Sign In di Editor
- Command Palette (
Cmd/Ctrl+Shift+P) → FlazHost: Sign In
- Paste token (format
flz_...)
- Selesai — status bar bawah-kanan tampil 🌐 FlazHost
🌐 xPose — Tunnel Local Apps
Expose aplikasi local ke internet dalam 1 klik. Cocok untuk demo, webhook testing, dan kolaborasi.
Mode Tunnel
xPose punya 2 mode tunnel — extension tampilkan picker saat publish:
- FlazHost Tunnel — pakai binary
frpc. Hostname otomatis di *.xpose.flazhost.com; plan Developer ke atas bisa pakai custom subdomain. Tersedia di semua plan, termasuk Free.
- Cloudflare Tunnel — pakai binary
cloudflared + akun Cloudflare Anda sendiri (BYO). Hostname pakai domain Anda di Cloudflare. Perlu plan Pro atau Business. Connect akun Cloudflare dulu di /client/xpose.
Kalau Anda pilih mode Cloudflare saat publish, extension akan minta pilih akun Cloudflare + zone + subdomain.
⚠️ Prerequisites — Install binary
xPose memanggil binary external untuk membuat tunnel:
frpc — untuk FlazHost Tunnel
cloudflared — untuk Cloudflare Tunnel
Extension bisa auto-install keduanya saat dibutuhkan. Atau install manual sebagai berikut.
frpc — FlazHost Tunnel
Linux (1-liner)
cd /tmp && \
wget https://github.com/fatedier/frp/releases/download/v0.58.1/frp_0.58.1_linux_amd64.tar.gz && \
tar xzf frp_0.58.1_linux_amd64.tar.gz && \
sudo cp frp_0.58.1_linux_amd64/frpc /usr/local/bin/ && \
sudo chmod +x /usr/local/bin/frpc && \
frpc --version
macOS (Homebrew)
brew install frpc
Windows
- Download
frp_0.58.1_windows_amd64.zip dari GitHub releases
- Extract ke folder (mis.
C:\frp)
- Tambah folder ke System PATH (Settings → Environment Variables)
- Verify di PowerShell:
frpc --version
cloudflared — Cloudflare Tunnel
Linux
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb -o cloudflared.deb
sudo dpkg -i cloudflared.deb
cloudflared --version
macOS
brew install cloudflared
Windows
Download cloudflared-windows-amd64.exe dari GitHub releases, rename ke cloudflared.exe, tambahkan ke PATH.
Usage
Publish app
- Run aplikasi local kamu (e.g.
npm run dev, python manage.py runserver, php artisan serve)
- Klik 🌐 FlazHost: Publish di status bar — atau Command Palette → FlazHost: Publish App
- Konfirm port (auto-detected dari
package.json/.env/framework defaults) dan nama subdomain
- ~5 detik kemudian: notif ✓ Published: https://your-app.xpose.flazhost.com
Stop / manage tunnel
- Klik status bar saat tunnel active → buka di browser
- Command Palette → FlazHost: Stop Tunnel
- Copy Public URL / Open in Browser
Auto Port Detection
Extension cek (urut prioritas):
package.json scripts — --port=N, -p N, PORT=N
.env file — variable PORT=N
- Framework defaults: Next.js (3000), Django (8000), Laravel (8000), Rails (9292)
flazhost.defaultPort setting (default 3000)
🚀 Runner — Deploy App ke Server FlazHost
Deploy aplikasi ke server FlazHost (cloud) langsung dari VS Code. Tidak perlu nulis Dockerfile manual, tidak perlu setup pipeline — extension auto-detect stack project dan generate semua file CI/CD untuk Anda. Cocok untuk Laravel, Node.js, Python, Go, dan static site.
Kenapa Runner?
Developer experience yang disederhanakan — dari kode ke production tanpa keluar dari editor:
- Tanpa nulis Dockerfile manual — extension membaca stack project dan generate Dockerfile yang tepat. Untuk PHP, versi PHP & extension diambil langsung dari
composer.json.
- Tanpa setup CI/CD ribet — workflow GitHub Actions + semua secrets (registry, deploy token) dikonfigurasi otomatis. Push berikutnya langsung auto-deploy.
- Tanpa pindah-pindah tab — isi satu form, klik deploy, pantau build log live — semua di dalam VS Code.
- Tanpa urus server — image di-build, di-push ke registry, lalu dijalankan di infrastruktur FlazHost. Anda fokus ke kode.
Auto-scaling — app menyesuaikan beban secara otomatis:
- Aktifkan Auto Scale lewat satu checkbox di form deploy (tersedia kalau plan Anda mendukung).
- Saat traffic naik, jumlah replica bertambah otomatis; saat sepi, turun lagi — tidak perlu scaling manual.
- Cukup pilih App Size awal; Runner yang urus penskalaan sesuai beban.
Fitur Runner
- 🔍 Auto-detect stack — kenali project Laravel, Node.js, Python, Go, atau static site otomatis.
- 🐳 Generate Dockerfile — spec-aware: untuk PHP, versi PHP & extension (
gd, redis, pdo_mysql, dll) di-parse langsung dari composer.json.
- ⚙️ CI/CD otomatis — generate GitHub Actions workflow; secrets repo (Harbor, CapRover) di-set otomatis saat provisioning.
- 📊 Live build monitoring — pantau progress build GitHub Actions per-step + full log, langsung di panel Output VS Code.
- 💾 Persistent volume — opsional; mount path auto sesuai framework (mis. Laravel →
/var/www/html/storage).
- 📈 Auto-scaling — aktifkan kalau plan Anda mendukung.
- 🔧 Laravel queue & scheduler — opsi sertakan
queue:work + schedule:work via supervisor dalam satu container.
- 🔐 Aman by default —
.env otomatis masuk .gitignore; env vars dikirim ke konfigurasi server, bukan di-commit ke repo.
- 🧩 Hormati file Anda — kalau repo sudah punya
Dockerfile/captain-definition sendiri, dipakai apa adanya (atau ditimpa kalau Anda pilih Override).
Cara kerja
[FlazHost: Deploy App to Runner]
↓
Auto-detect stack → generate Dockerfile + captain-definition + workflow
↓
Review/edit → Commit & Push ke GitHub
↓
Daftar app di FlazHost → GitHub Actions build → Harbor → CapRover
↓
Live monitoring build di panel Output "FlazHost Runner"
Cara pakai
- Buka folder project — harus git repository dengan remote GitHub
- Command Palette → FlazHost: Deploy App to Runner
- Pilih GitHub account (untuk set CI/CD secrets di repo)
- Isi form deploy:
- Nama App
- App Size — pilihan size sesuai plan aktif Anda
- Billing Cycle — PAYG / bulanan / tahunan
- Volume — ukuran persistent storage (0 = tanpa volume); mount path auto sesuai framework
- Auto Scale — kalau plan mendukung
- Environment Variables — auto-terisi dari
.env lokal
- Review Dockerfile yang di-generate → klik Commit & Deploy
- Pantau build live di panel Output "FlazHost Runner"
Stack yang didukung
| Stack |
Detail |
| PHP / Laravel |
Dockerfile spec-aware — versi PHP & extension di-parse dari composer.json. Optional: queue worker + scheduler via supervisor |
| Node.js |
Versi Node dari package.json (engines.node) |
| Python |
gunicorn + requirements.txt |
| Go |
Multi-stage build |
| Static |
nginx |
Kalau repo sudah punya Dockerfile / captain-definition sendiri, extension memakai yang ada (atau menimpa kalau Anda centang Override).
Catatan penting
- GitHub account wajib terhubung di /settings/github-accounts — FlazHost memakai token-nya untuk set CI/CD secrets (Harbor, CapRover) di repo Anda.
.env aman — file .env otomatis ditambahkan ke .gitignore. Nilai env vars dikirim ke konfigurasi server (CapRover), tidak di-commit ke repo.
- Laravel scheduler/queue — centang "Sertakan queue worker & scheduler" untuk menjalankan
queue:work + schedule:work via supervisor dalam container.
- Deploy berjalan lewat GitHub Actions → Harbor registry → CapRover.
Settings
| Setting |
Default |
Description |
flazhost.apiBase |
https://flazhost.com |
API base URL (ganti kalau pakai self-hosted) |
flazhost.frpcPath |
frpc |
Path ke binary frpc — untuk FlazHost Tunnel |
flazhost.cloudflaredPath |
cloudflared |
Path ke binary cloudflared — untuk Cloudflare Tunnel |
flazhost.defaultPort |
3000 |
Port default xPose kalau tidak ke-detect |
Troubleshooting
| Error |
Fix |
| "Sign In dulu" |
Run command FlazHost: Sign In + paste token |
| "token in login doesn't match" |
Token API expired/revoked — generate baru di /client/api-tokens |
| "frpc/cloudflared tidak ditemukan" |
Install binary (lihat Prerequisites) atau klik Install Otomatis saat publish |
| "Belum ada akun Cloudflare ter-connect" |
Mode Cloudflare Tunnel butuh akun Cloudflare (plan Pro/Business) — connect dulu di /client/xpose |
| "Belum ada GitHub account terhubung" |
Runner butuh GitHub account — hubungkan di /settings/github-accounts |
| "Folder ini belum punya git remote" |
Runner deploy butuh repo GitHub. Buat repo & set remote origin dulu |
| Build run pertama gagal |
Normal — run dari push pertama jalan sebelum CI/CD secrets ter-set; FlazHost otomatis re-trigger setelah app ter-provision |
Pricing
xPose — paket tunneling:
| Plan |
Harga/bln |
Bandwidth |
Cloudflare BYO |
Custom subdomain |
Team |
| xPose Free |
Gratis |
1 GB |
— |
— |
— |
| xPose Developer |
Rp 49.000 |
10 GB |
— |
✓ |
— |
| xPose Pro |
Rp 199.000 |
50 GB |
✓ |
✓ |
✓ |
| xPose Business |
Rp 499.000 |
200 GB |
✓ |
✓ |
✓ |
Tersedia juga billing tahunan. Runner — harga per app size (Nano / Micro / Small / Medium / Large), tergantung plan aktif Anda; pilihan size muncul di form deploy.
Lihat detail & harga terbaru →
License
MIT — see LICENSE file.