Upload sekali, pakai URL publik atau CDN dengan kualitas asli
Semua file dilayani langsung oleh server tanpa kompresi ulang. Mendukung streaming Range, reverse proxy, dan template workflow n8n terbaru.
Mode delivery
Original Quality
No-transform untuk menjaga hasil asli video.
Streaming
HTTP Range Ready
Video player dan crawler API tetap kompatibel.
Integrasi
n8n Templates
Template upload & list aktif sudah disediakan.
Manajemen Folder
File di Folder Aktif
Template Workflow n8n
Import langsung ke n8n versi terbaru.
Quick Checks
Health
curl -X GET "{{ORIGIN}}/health"
Capabilities
curl -X GET "{{ORIGIN}}/api/capabilities"
Upload Publik
curl -X POST "{{ORIGIN}}/upload" \
-F "file=@/path/to/video.mp4"
Dokumentasi Lengkap
Panduan penuh untuk endpoint, konfigurasi, integrasi n8n, reverse proxy, dan operasional produksi.
Endpoint Publik
GET /health
Status server dan info runtime dasar.
POST /upload
Upload file publik. Respons mengandung url dan cdnUrl jika CDN aktif.
GET /files/:filename
Streaming/download file dengan dukungan Range dan cache header untuk performa delivery.
GET /api/capabilities
Informasi kemampuan server: base URL, CDN, batas upload, rekomendasi integrasi n8n.
Endpoint API (API Key)
POST /api/files
Upload dari workflow n8n dengan header x-api-key dan multipart field file.
GET /api/files?status=active
List file aktif yang belum expired.
GET /api/files/:id
Detail metadata file berdasarkan ID.
PATCH /api/files/:id & DELETE /api/files/:id
Update expiry/metadata atau hapus manual file di server.
Konfigurasi n8n 2026
WEBHOOK_URL=https://n8n.domainkamu.com/
N8N_PROXY_HOPS=1
FILE_HOSTING_BASE_URL={{ORIGIN}}
FILE_HOSTING_API_KEY=isi_api_key_server
Proxy terakhir harus meneruskan X-Forwarded-For, X-Forwarded-Host, dan X-Forwarded-Proto.
HTTP Request Node (upload) terbaru
{
"typeVersion": 4.2,
"url": "={{$env.FILE_HOSTING_BASE_URL}}/api/files",
"method": "POST",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "x-api-key",
"value": "={{$env.FILE_HOSTING_API_KEY}}"
}
]
},
"sendBody": true,
"contentType": "multipart-form-data",
"bodyParameters": {
"parameters": [
{
"parameterType": "formBinaryData",
"name": "file",
"inputDataFieldName": "data"
},
{ "name": "expiry_minutes", "value": "60" },
{ "name": "meta", "value": "={{JSON.stringify({ source: \"n8n\" })}}" }
]
}
}
Environment Server (Produksi)
PORT=4000
API_KEY=isi_random_string_kuat
DEFAULT_EXPIRY_MINUTES=180
CLEANUP_INTERVAL_SECONDS=60
TRUST_PROXY_HOPS=1
PUBLIC_BASE_URL=https://files.domainkamu.com
CDN_BASE_URL=https://cdn.domainkamu.com
MAX_FILE_SIZE_MB=1024
ALLOWED_ORIGINS=https://app.domainkamu.com,https://n8n.domainkamu.com
ENABLE_CONTENT_DISPOSITION_INLINE=true
Checklist Operasional
- Monitor disk space karena file video besar.
- Restart proses Node.js jika ada update environment variable.
- Gunakan HTTPS di domain publik untuk webhook platform eksternal.
- Pastikan cleanup tetap aktif untuk menghindari storage penuh.
- Aktifkan CDN jika trafik playback tinggi.
- Uji template n8n setelah setiap upgrade versi n8n.
Machine-Readable Docs
Resource ini dibuat agar crawler, search engine, dan AI assistant dapat memahami dokumentasi secara langsung.