Storage configuration¶
Why this matters¶
When you upload files to ImmCase (PDFs, passport photos, scanned forms), they have to live somewhere. ImmCase supports several storage "destinations":
- Local — on the ImmCase server, on disk.
- S3 / Wasabi / similar — in the cloud, infinitely scalable.
- ImmOffice / OnlyOffice — storage integrated with the Office editor.
- Remote WebDAV — another server accessible via WebDAV.
As an administrator you pick what to use for what.
Create a storage configuration¶
- Sidebar → Settings → Storage → Create.
- Fill in:
- Name ("Main storage", "Old files on S3").
- Type — local, S3, WebDAV, ImmOffice.
- For S3: bucket, region, access key, secret.
- For WebDAV: URL, user, password.
- For local: base path on the server.
- Test connection — ImmCase tries to upload and read a test file.
- Save.
Default storage¶
One configuration must be marked default. New files go there unless a module or workflow specifies otherwise.
Retention rules¶
In the storage configuration, define:
- Maximum retention time — after how many days/months soft-deleted files are purged.
- Old files to S3 — move closed-case files older than 1 year to cold storage (cheaper).
- Encryption — yes/no for sensitive data.
Quotas¶
ImmCase can set quotas:
- Per user — how much a consultant can upload.
- Per practice — the tenant's global total.
- Per file type — size restrictions by type.
When the limit is reached, ImmCase rejects new uploads and notifies the admin.
Migrate files between storages¶
To move old files from local storage to S3:
- Create the S3 destination.
- Admin command
storage:migrate --from=local --to=s3 --older-than=12m. - ImmCase copies files, verifies integrity, then deletes the local originals.
(This requires server-level technical access, not done from the UI for security.)
Watch out for¶
- Don't change the base path of an active local storage. ImmCase ends up pointing to files that aren't where expected. To move files, do it with a migration command.
- S3 access keys with broad permissions are dangerous. Generate keys specific to the ImmCase bucket with minimum permissions (read/write on that bucket, nothing else).
- Quotas are hard limits. If you hit the quota mid-PDF-generation, PDFs fail. Monitor usage and warn early.
Where to next¶
- API tokens — for external integrations.
- File manager — user-side storage.