Joplin will not sync to S3, despite a successful 'Check synchronisation configuration'. This was also a bug in version 3.3.10
The error it shows above the Synchronise button is:
Completed: 09/10/2025 18:09 (49s)
Last error: TypeError: Failed to construct 'URL': Invalid URL
I discovered this when switching from Joplin Cloud to a personal S3 bucket, after enabling encryption caused my Joplin Cloud account to go from well under 100% capacity, to 132% capacity before it cut me off from being able to synchronize... not a great user experience.
Bucket Versioning is Disabled
Block All Public Access is Enabled
Default Encryption with Amazon S3 key (SSE-S3) is being used
Bucket region is US East (N. Virginia) us-east-1
Joplin Config
My S3 URL is https://s3.us-east-1.amazonaws.com
My S3 region is us-east-1
The check succeeds whether or not 'Force path style' is enabled, and the error also occurs whether or not it is enabled
In the thread that I linked it looks like the user didn't have https specified in the URL, they had:
oss-cn-beijing.aliyuncs.com
And after they added https it started working: https://oss-cn-beijing.aliyuncs.com
so you might want to double check the settings and make sure that the S3 URL includes the https://
If it does already include the https:// (as in your comment) I'm not sure what could be causing that. You might try looking at the log.txt file in your joplin profile folder and see if it provides any more details
For reference (based on the v3.4.12 source map), this resolves to:
TypeError: Failed to construct 'URL': Invalid URL
at parseUrl (packages/lib/node_modules/@aws-sdk/url-parser/dist-cjs/index.js#L7)
at toEndpointV1 (packages/lib/node_modules/@aws-sdk/middleware-endpoint/dist-cjs/adaptors/toEndpointV1.js#L12)
at s (packages/lib/node_modules/@aws-sdk/middleware-endpoint/dist-cjs/resolveEndpointConfig.js#L10)
Interestingly, while this worked on my Windows Machine (Joplin v3.4.12) and my Android Phone (Joplin v3.4.7), it does NOT work on my Macbook (Joplin v3.4.12) - even after creating a new profile, copying and pasting in the exact same connection and credentials info will not allow it to connect on either the Default profile or the new profile. Despite having no firewall or VPN on that machine, clicking the Check button results in “Error. Please check that URL, username, password, etc. are correct and that the sync target is accessible. The reported error was: UnknownError”
Just for the record, another Joplin S3 user here and I’ve had no issues at all - been using S3 for around a year and it works very nicely.
Is it worth checking your S3 setup in case something is awry? (I just followed steps I found online and wouldn’t be able to say I completely knew what I was doing! So I can’t point at anything specific unfortunately).
Restarting my Macbook seems to have fixed the UnknownError, but in any case it looks like there are multiple bugs across clients that we can point to from this experience.
Hi. Whoops looks like I spoke to soon about this - I just updated to 3.4.12 on a desktop client and have a very similar issue. Previous version 3.3.2 was syncing perfectly on S3 AWS for many months, now I’m getting the error “do not have proper permissions in your bucket” on sync. I have not changed any settings and I’ve double checked them.
Meanwhile my other desktop client is running 3.3.4 with no S3 sync issues and I’m also running a recent Android release with no issues, so I’m reluctant to change anything in my S3 settings, which I don’t fully understand to be honest!
@gilreathjw - did you manage to solve this with 3.4.12? Something surely must have been changed in this client which changes S3 sync or requires something changed in the bucket settings.
Any help would be appreciated.
Thanks
Ben
Edit: Well this is strange. Exactly as you did, I rebooted Windows and the problem is fixed, at least now. Never seen this before when upgrading clients so is a little concerning. Something got “stuck” somehow? Pleased I didn’t start messing with S3 settings anyway. I’ll monitor the situation.