Tera Router

Konfigurasi

Environment variables, target make, dan batas bawaan server serta dashboard.

Server (apps/server)

Server membaca .env di apps/server saat dijalankan lewat make run.

VariableDefaultKeterangan
MACHINE_ID— (wajib)ID unik mesin (angka 16-bit, tidak boleh 0)
APP_SECRET— (wajib)Menandatangani JWT dan menurunkan kunci enkripsi kredensial
PORT8080Port gateway + dashboard API
ENVproductiondevelopment mengaktifkan perilaku dev (seed key contoh)
DEBUGfalsetrue/1 mengaktifkan mode debug
DATABASE_PATHterarouter.dbLokasi file SQLite
MIGRATE_ON_BOOTtrueJalankan migrasi saat start
SEED_ON_BOOTtrueSeed data awal (role, admin, plan Default)
ADMIN_EMAIL[email protected]Email admin; perubahan mengganti email admin yang ada saat seed berikutnya
ADMIN_PASSWORDadmin123 (dev)Password admin — wajib diset di produksi; perubahan disinkronkan ke admin saat seed berikutnya
ADMIN_TOTP_RESET—Set true untuk mematikan two-factor auth admin saat seed berikutnya; hapus lagi setelah login
CORS_ALLOWED_ORIGINS*Daftar origin dipisah koma, mis. http://localhost:5173,http://localhost:3001
APP_NAMEtera-router-serverNama aplikasi
SENTRY_DSN—Aktifkan error tracking bila diisi

APP_SECRET itu kunci rumah

Kredensial provider dienkripsi dengan kunci turunan dari APP_SECRET. Ganti secret = semua kredensial tersimpan tidak terbaca lagi. Ganti hanya sebelum data ada, dan simpan baik-baik.

Target make (apps/server)

TargetKeterangan
make runJalankan API server (baca .env)
make installSiapkan toolchain Go
make migrate/upJalankan migrasi
make migrate/downRollback migrasi
make migrate/refreshReset database
make seedSeed data produksi
make seed/devSeed key contoh "Dev" (plaintext dicetak sekali)
make testTest
make vetStatic analysis
make build/apiBuild binary server

Dashboard (apps/web-ui)

VariableDefaultKeterangan
VITE_API_URLhttp://localhost:8080Alamat API server
VITE_APP_NAMETera RouterNama tampilan
BETTER_AUTH_URLhttp://localhost:5173Base URL auth
BETTER_AUTH_SECRET—Secret auth

Dashboard berjalan di port 5173 (pnpm dev di apps/web-ui).

Batas bawaan

BatasNilai
Ukuran body request maksimum32 MiB
Read timeout server20 detik
Write timeout server3 menit
Deadline request unary90 detik
Deadline stream3 menit
Heartbeat SSE15 detik
Konkurensi gateway (in-flight)100
Rate limit dashboard100 req/menit per IP
Cache verifikasi key5 menit
Retry per request (maks)10
Cooldown akun (429 / auth gagal)30 detik / 5 menit

Di halaman ini