Dropbox backup with no external URL

I’ve been trying to use the dropbox backup integration but my server is intentionally not externally accessible (outbound only) for security reasons. It sits behind an internal IP on a real machine, and while some internal machines use an internal DNS server to access it via a friendly URL, it doesn’t have any official external URL/DNS entry.

What is the correct process to enable dropbox backup without the from-external access?

I tried placing the access key/secret and tokens inside the frontend/site_config.json but this fails due to invalid redirect_uri.

for free try using tailscale funnel point 6b at Creating new custom app in the dockerized instance is not possible · Issue #1640 · frappe/frappe_docker · GitHub

If you want to pay you can use ngrok or cloudflare tunnels

Not really keen on it, we have a domain and we could forward a subdomain, but it introduces a security risk and audit requirement for a small company for absolutely no reason. I think we may just stick to local backups for now.

I followed some advice online (always dangerous) and ensured my site_config had the access token generated in the DBX dashboard, as well as the two keys. While the “allow access” button still fails on URI, I got an overnight backup attempt that yielded this error:

Error message: Traceback (most recent call last): File “apps/frappe/frappe/integrations/doctype/dropbox_settings/dropbox_settings.py”, line 87, in take_backup_to_dropbox did_not_upload, error_log = backup_to_dropbox(upload_db_backup) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File “apps/frappe/frappe/integrations/doctype/dropbox_settings/dropbox_settings.py”, line 118, in backup_to_dropbox dropbox_client = get_dropbox_client(dropbox_settings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File “apps/frappe/frappe/integrations/doctype/dropbox_settings/dropbox_settings.py”, line 275, in get_dropbox_client dropbox_client.files_list_folder(“”) File “env/lib/python3.11/site-packages/dropbox/base.py”, line 2145, in files_list_folder r = self.request( ^^^^^^^^^^^^^ File “env/lib/python3.11/site-packages/dropbox/dropbox_client.py”, line 351, in request raise ApiError(res.request_id, dropbox.exceptions.ApiError: ApiError(‘redacted’, ListFolderError(‘path’, LookupError(‘unsupported_content_type’, None)))

Yesterday the error I got was a permissions one, so this seems like a forward movement. This seems like a more simple error than an auth error.