Repository navigation
S3 backup uploads randomly fail with "V2 signature not supported" — add a signature version setting? #12182
Replies: 4 comments 1 reply
|
Tried to open the PR but it looks like PRs are limited to existing contributors now. The branch is ready here: release/v4.5...dvdpearson:coolify:feat/s3-signature-version — happy to open it if you can enable that, or feel free to pull it in directly. Thank you! |
|
Nice find on the signature fallback. One thing worth doing while the fix waits: treat the "succeeded with a warning" mail as a failure. For those hours the local archive exists and the copy in B2 doesn't, so your only copy is on the same box as the data. I'd alert on the warning the same way as on an error until |
|
@andrasbacsai let me know how I could get some eyes on this, I'd really appreciate it, thanks! |

Uh oh!
There was an error while loading. Please reload this page.
Hey all,
I self-host Coolify (v4.4.6) and back up a few volumes hourly to Backblaze B2. For the past week I've been getting "Storage backup succeeded with a warning" emails every few days. The upload to B2 fails with one of these:
Unable to initialize new alias from the provided credentials. Get ".../probe-bsign-...": ... network is unreachableThe V2 signature authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256Validate connection is always green, and most hours upload fine (about 96% in my case).
I dug into it on my server. Coolify runs
mc alias setwithout--api, so on every backup mc sends a probe request (probe-bsign-...) to guess the signature version. Normally it picks S3v4. But when that probe hits a network blip, mc either errors out (first error) or falls back to S3v2, and B2 rejects S3v2 (second error). Runningmc alias set --api S3v2by hand against my bucket gives the exact same error as the emails, and--api S3v4works every time.The rest of Coolify (Validate, retention cleanup) already goes through the AWS SDK with V4 only, so mc is the only place still guessing.
Related issues:
--api S3v4too)Proposal: add a "Signature version" setting to each S3 storage, default S3v4, with S3v2 kept for old self-hosted servers. Pass it as
--apito everymc alias set(database backups, volume backups, database import). Existing storages get S3v4 through the migration default, so nothing changes for anyone on a normal provider.I have this working and tested. I'll open a PR against
release/v4.5and link it here, happy to change the approach if you'd prefer something else.All reactions