Stack:
- Backend: Bun + Hono, API di
/api - DB: SQLite + Drizzle ORM (migrasi via drizzle-kit)
- Frontend: React (Vite) + Tailwind + komponen gaya shadcn
- Deploy/dev via Docker Compose
Terminal 1:
bun install
cd apps/server && bun run devTerminal 2:
cd apps/web && bun run devFrontend dev: http://localhost:5173
API: http://localhost:3000/api/health
docker compose up -d --buildApp: http://localhost:3000
API: http://localhost:3000/api/health
SQLite disimpan di volume sqlite_data (lihat docker-compose.yml).
bun run db:generate
bun run db:migrateUntuk aplikasi Gemastika gunakan bucket:
gemastika-assets
Konfigurasi environment backend:
S3_ENDPOINT=https://s3.gemastika.or.id
S3_ACCESS_KEY=isi_dengan_RUSTFS_ACCESS_KEY
S3_SECRET_KEY=isi_dengan_RUSTFS_SECRET_KEY
S3_BUCKET=gemastika-assets
S3_REGION=us-east-1
S3_FORCE_PATH_STYLE=true
S3_PUBLIC_BASE_URL=https://s3.gemastika.or.idJika aplikasi dijalankan sebagai container yang berada di network ferileenet, endpoint bisa diganti:
S3_ENDPOINT=http://global-storage:9000Endpoint upload internal Gemastika:
POST /api/uploads/image (multipart form-data, field file, optional scope: news|portfolio)