If you’re on Hetzner, you can use their object storage as well quite easily. Create a bucket, and get credentials for it, and alter the PDS configuration as follows:
PDS_BLOBSTORE_S3_BUCKET="your-bucket-name"
PDS_BLOBSTORE_S3_REGION="region-at-hetzner" # e.g. fsn1, nbg1, hel1, etc.
PDS_BLOBSTORE_S3_ENDPOINT="https://region-at-hetzner.your-objectstorage.com"
PDS_BLOBSTORE_S3_FORCE_PATH_STYLE="true"
The “region-at-hetzner” bit is the DC location, such as nbg1, fsn1, hel1, and the others. You will also find the full S3 endpoint URL mentioned in the Console if you’re looking at your bucket.
The only thing left to do is restart your PDS. Although you probably want to stop it, use an appropriate tool to copy the existing on-disk blobs to the S3 bucket, and then start it.
this just helped me huge-time to get some PDS hosting test stuff up and running on Hetzner! there is now a test blob of a cute cat sitting in my test bucket — thanks y’all
Using rclone is pretty easy to migrate files to S3 from disk, provided same directory layout. Not sure if the PDS implementation stores full URLs to blobs or just path in the database.
Don’t hold me to it (because it’s been ages) but I think the layout is the same, IIRC I just used s3cmd’s mirror command to get things into the bucket I think the full URL is just done via getBlob with the CID and internally that’s converted to a path (IIRC did/cid) that the storage driver then figures out what to do with.