Troubleshooting
Configuration Fails To Load
Run:
midden --config midden.toml config check
Common causes:
- Explicit
--configpath does not exist. - Invalid enum values such as an unknown action rule or delete policy.
delivery.isolated_file_origin = truewithoutdelivery.public_file_base_url.delivery.signed_internal_urls = truewithoutdelivery.internal_url_secret.- S3 backend selected without
storage.s3.bucket.
Uploads Are Rejected
Check:
limits.max_upload_bytes.security.content_policy.allowed_mime_types.security.reject_mime_mismatch.scanning.blocked_hashes.scanning.blocked_mime_types.- Scanner adapter status and
default_on_error. - User or anonymous quotas.
Valid Media Shows As application/octet-stream
Midden sniffs common formats, then falls back to declared MIME type, filename extension, and finally application/octet-stream. Make sure clients send a useful filename or content type when the bytes cannot be sniffed.
URL Upload Cannot Fetch A URL
Check:
features.upload_by_url.- URL scheme is
httporhttps. security.url_upload.block_private_ips.- Allowed or blocked host lists.
- Allowed or blocked port lists.
- Connect and request timeouts.
security.url_upload.max_response_bytes.
Login Links Are Missing
Check:
features.accounts.features.local_login.features.oidc_login.policy.signup.- Full OIDC provider configuration if local login is disabled.
Metrics Return 403 Or 404
- 404:
metrics.enabledis false. - 403 in
adminmode: request is not from an admin session. - 403 in
tokenmode: missing or mismatched bearer token. - 403 in
loopbackmode: request IP is not loopback or proxy headers are not trusted.
Public Browse Is Empty
Public browse only lists items with visibility = "public" and requires:
[features]
public_browse = true
Unlisted items are reachable by direct link but do not appear in browse.