Langsung ke konten

Situs Statis ​

Zenavo menyajikan situs statis dengan Caddy di port 8080, dibangun dari repositori Anda di setiap deploy.

HTML biasa ​

Repositori dengan index.html dan tanpa package.json dideteksi sebagai static: file-filenya disajikan apa adanya.

Situs hasil build (Vite, React, Vue, Svelte, Astro) ​

Proyek Node.js yang framework-nya menghasilkan file statis, seperti Vite, Create React App, Vue, SvelteKit dengan adapter static, atau Astro, dibangun dengan skrip build-nya dan folder output-nya disajikan. zbpack mengenal folder setiap framework (dist untuk Vite, build untuk Create React App); Build Plan Preview menampilkannya sebagai outputDir. Untuk folder lain, atur di Settings → Build → zbpack options:

sh
ZBPACK_OUTPUT_DIR=public

Aplikasi satu halaman ​

Router sisi klien (React Router, Vue Router) bekerja tanpa pengaturan: path tanpa ekstensi file yang tidak cocok dengan file apa pun mengembalikan index.html, sedangkan aset yang tidak ada, seperti /assets/app.js, tetap mengembalikan 404.

Variabel di situs statis ​

Situs statis tidak punya server, jadi variabelnya, seperti VITE_* milik Vite (import.meta.env.VITE_API_URL) atau REACT_APP_* milik Create React App, harus ada saat dibangun. Variabel di tab Variable hanya diberikan ke layanan yang berjalan, jadi atur variabel ini di Settings → Build → Build arguments, misalnya:

sh
VITE_API_URL=https://api.example.com

Variabel ini sampai ke build tanpa Dockerfile; lihat argumen build. Dengan Dockerfile sendiri, deklarasikan masing-masing dengan baris ARG sebelum perintah build. Semua isi bundle bersifat publik: jangan pernah menaruh rahasia di variabel ini.

Deploy ​

  1. Add Service → GitHub, pilih repositori dan branch.
  2. Klik Next, pastikan pratinjau menampilkan static atau nodejs dengan framework dan folder output Anda, lalu klik Deploy.
  3. Buat domain di tab Networking, atau pasang domain Anda sendiri.

Generator lain ​

Untuk Hugo, Jekyll, MkDocs, atau generator yang tidak dikenal zbpack, commit output hasil build dan arahkan ZBPACK_OUTPUT_DIR ke sana, atau tambahkan Dockerfile yang membangun dan menyajikan situs:

dockerfile
FROM hugomods/hugo:exts AS build
WORKDIR /src
COPY . .
RUN hugo --minify

FROM caddy:2-alpine
COPY --from=build /src/public /usr/share/caddy
EXPOSE 80

Masalah umum ​

GejalaPenyebab
Memuat ulang halaman selain / mengembalikan 404Dockerfile Anda sendiri menyajikan situs dengan server yang tidak punya fallback ke index.html. Gunakan try_files {path} /index.html di Caddy, atau build yang dibuatkan.
Situs kosong dan console menampilkan 404 untuk asetBase path build bukan /. Periksa base di vite.config atau homepage di package.json.
Nilai VITE_* bernilai undefinedNilainya hanya diatur di tab Variable, yang tidak sampai ke build. Atur sebagai argumen build lalu deploy ulang; dengan Dockerfile sendiri, deklarasikan juga dengan ARG.

Tidak berafiliasi dengan Zeabur.