# Storage — Zammad Attachments (QNAP OSS) > **Terakhir Diperbarui:** 2026-07-02 --- ## Ringkasan | Item | Nilai | |------|-------| | Provider | QNAP QuObjects (S3-compatible) | | Endpoint | `http://10.100.1.10:8010` | | Bucket | **`zammad-attachments`** | | ACL | **Private** (tidak public-read) | | Credential | Reuse `super-apps:` dari geonet-console | | Zammad storage mode | Simple Storage (S3) | --- ## Status bucket (2026-07-02) - ✅ Bucket dibuat - ✅ Upload/download test berhasil (`_healthcheck/oss-setup-test.txt`) - ⚠️ Upload pertama setelah create bisa `503` — retry setelah beberapa detik (normal QuObjects) --- ## Verifikasi bucket Jalankan dari server `10.100.1.24`: ```bash export $(grep -E "^OSS_" /opt/stacks/geonet-console/.env | xargs) export OSS_BUCKET_TARGET=zammad-attachments docker cp /opt/stacks/zammad/scripts/oss-create-bucket.php geonet-console:/tmp/oss-create-bucket.php # atau dari repo: Zammad/scripts/oss-create-bucket.php docker exec \ -e OSS_ACCESS_KEY_ID="$OSS_ACCESS_KEY_ID" \ -e OSS_SECRET_ACCESS_KEY="$OSS_SECRET_ACCESS_KEY" \ -e OSS_ENDPOINT="$OSS_ENDPOINT" \ -e OSS_REGION="$OSS_REGION" \ -e OSS_BUCKET_TARGET="$OSS_BUCKET_TARGET" \ geonet-console php /tmp/oss-create-bucket.php ``` Script membutuhkan AWS SDK PHP (tersedia di container `geonet-console`). --- ## Zammad UI Setelah `storage.yml` / env dikonfigurasi dan Zammad di-restart: **Settings → System → Storage → Simple Storage (S3) → Submit** --- ## Perbedaan dengan bucket `super-apps` | | `super-apps` | `zammad-attachments` | |---|--------------|----------------------| | Use case | Avatar FE (public URL) | Tiket attachment (private) | | Nginx public proxy | ✅ `file.gisportal.id/super-apps/` | ❌ Tidak perlu | | ACL | public-read | private | --- ## Referensi - ADR: [`docs/adr/ADR-0002-oss-attachments-qnap.md`](adr/ADR-0002-oss-attachments-qnap.md) - OSS umum: [`server-connection/docs/adr/ADR-0004-qnap-object-storage.md`](../../server-connection/docs/adr/ADR-0004-qnap-object-storage.md)