Arsitektur Dokumentasi
Peta jalan panduan, SDK integration, dan API reference lengkap yang disiapkan secara terstruktur.
Self-Hosting Backend Tulis
Panduan ini menjelaskan cara self-host backend Tulis sumber terbuka — sebuah headless CMS yang dibangun dengan Go + Fiber, menggunakan MySQL (melalui GORM) sebagai basis datanya.
Tulis bersifat multi-tenant: konten berada di dalam Workspace, dan akses ke API publik dikendalikan oleh kunci API (Bearer token) ditambah identifier workspace (header
X-Workspace-IDatau slug subdomain). Panduan ini hanya mencakup backend. Untuk admin UI Anda juga memerlukan dashboard admin Next.js (lihat Buat Workspace & Admin), atau Anda dapat menggunakan admin yang di-host (lihat Beli Admin yang Di-host).
1. Clone repositori
git clone <tulis-repo>
cd tulis-goGanti <tulis-repo> dengan URL repositori Go resmi Tulis.
2. Instal toolchain Go
Tulis memerlukan versi Go terbaru. Instal dari https://go.dev/dl/, lalu verifikasi:
go version3. Siapkan basis data MySQL
Buat basis data MySQL kosong dan pengguna dengan akses ke dalamnya:
CREATE DATABASE tulis CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'tulis'@'localhost' IDENTIFIED BY 'ganti-dengan-password-kuat';
GRANT ALL PRIVILEGES ON tulis.* TO 'tulis'@'localhost';
FLUSH PRIVILEGES;Catat nama basis data, pengguna, kata sandi, host, dan port — Anda akan membutuhkannya untuk file .env di langkah berikutnya.
4. Konfigurasi backend
Salin file contoh lingkungan dan isi nilai Anda:
cp .env.example .envEdit .env. Setidaknya Anda perlu mengatur koneksi basis data, JWT secret, dan host API:
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USER=tulis
DB_PASSWORD=ganti-dengan-password-kuat
DB_NAME=tulis
JWT_SECRET=ganti-dengan-string-acak-panjang
API_HOST=api.tulis.example.com
APP_ENV=development
APP_PORT=8080Lihat Configuration untuk daftar lengkap variabel.
Dalam mode
development,APISubdomainGuarddilewati di localhost, yang memudahkan pengujian lokal. Gunakanproductionuntuk deployment sesungguhnya.
5. Jalankan migrasi dan mulai server
Tulis secara otomatis memigrasi entitasnya saat startup menggunakan GORM, jadi tidak ada perintah migrasi terpisah yang perlu dijalankan — memulai server akan membuat/memperbarui tabel.
Jalankan langsung:
cd backend
go run cmd/api/main.goAtau buat biner dan jalankan:
cd backend
go build -o tulis-api ./cmd/api
./tulis-apiServer mendengarkan pada PORT yang dikonfigurasi (bawaan 8080).
6. Verifikasi instalasi
Repositori menyertakan skrip startup/verifikasi. Menjalankannya akan mengeksekusi rangkaian pengujian Go, yang merupakan pemeriksaan kesehatan yang baik setelah clone baru atau perubahan:
./init.shinit.sh menjalankan cd backend && go test ./.... Semua pengujian harus lulus sebelum Anda menganggap instalasi sehat.
Langkah selanjutnya
- Mulai dashboard admin dan buat workspace + admin super pertama Anda: Buat Workspace & Admin.
- Ingin tanpa operasional? Beli Admin yang Di-host.
Lini Masa Peluncuran Fitur
Docker Compose, pengaturan file environment, dan panduan setup lokal telah lengkap dibuat.
Dokumentasi route endpoint publik, otentikasi JWT, dan kontrol hak akses telah selesai disusun.
Mempersiapkan boilerplate untuk Next.js client, manajemen revisi konten, dan optimasi query.