JMG Central Storage
Private Storage Service — Java Media Grup

Centralized File Storage
untuk semua aplikasi JMG

Upload, kelola, dan sajikan file gambar dari satu endpoint. Multi-tenant, isolasi per client, public & private visibility, dan siap upgrade ke S3-compatible storage.

Multi-tenant & Isolated

Setiap client punya namespace sendiri. Client A tidak bisa membaca file milik Client B.

S3-Compatible Ready

Mulai dari local disk, pindah ke S3/MinIO/R2 cukup dengan ganti .env — kontrak API tidak berubah.

Public & Private

File public punya URL permanen. File private hanya bisa diakses via signed URL dengan expiry.

API Endpoints

Semua endpoint membutuhkan header Authorization: Bearer <token>
Method Endpoint
POST /api/v1/files
GET /api/v1/files
GET /api/v1/files/{uuid}
POST /api/v1/files/{uuid}/temporary-url
DELETE /api/v1/files/{uuid}
GET /files/{uuid}
GET /private-files/{uuid}?signature=…

Upload Fields

Field Aturan
file Wajib. Format: jpg, jpeg, png, webp, gif. Maks sesuai konfigurasi client (default 5 MB).
visibility Opsional. public (default) atau private.
collection Opsional. Grup file, huruf kecil/angka/_-, maks 50 karakter. Contoh: avatars.

Contoh Request

curl -X POST 'https://storage.jmg.net.id/api/v1/files' \
  -H 'Authorization: Bearer sm_live_TOKEN_ANDA' \
  -H 'Accept: application/json' \
  -F 'file=@/tmp/avatar.jpg' \
  -F 'visibility=public' \
  -F 'collection=avatars'