Using Pixelfed with S3-compatible storage

Hello, is anyone using Pixelfed with S3-compatible storage who could share their config? I’m using iDrive S3 but an example using anything similar (Minio etc) would be appreciated.

1 Like

What kind of example do you seek ?
How to configure it ?
Working examples with some specific software ?

It’s a Pixelfed issue rather than a Yunohost one, but it seems to be common to a lot of Fediverse apps. I should try it with Minio for increased relevance :slight_smile:

I got it working last night based on this issue at Pixelfed: No Preview Available using S3 storage · Issue #3802 · pixelfed/pixelfed · GitHub

This my working config:

## S3 Configuration (Post-Installer)
PF_ENABLE_CLOUD=true
FILESYSTEM_CLOUD=s3
AWS_ACCESS_KEY_ID=xxxx
AWS_SECRET_ACCESS_KEY=xxxxx
AWS_DEFAULT_REGION=LDN
AWS_BUCKET=bucket-name
AWS_URL=https://t0l6.c13.e2-4.dev/bucket-name
AWS_ENDPOINT=https://t0l6.c13.e2-4.dev
#AWS_USE_PATH_STYLE_ENDPOINT=false

I think iDrive is based on Minio. My bucket is set to Public and Read Only but ideally it would be Private, so I need to experiment with that. The thing that I struggled with was the URL and the endpoint. iDrive provides different endpoints for Public and Private buckets and I think the URLs are region based. The Horizon dashboard was very helpful in finding the problems.

Could you elaborate ? I don’t really know how to use it ?

In the Admin Dashboard, it’s an entry towards the bottom. Horizon is the job manager and is a Laravel component. Horizon is the only thing I can see that logs to /var/log and that’s not very informative, but the dashboard is very useful. It shows job statuses and I looked at the Failed Jobs page, which shows the output of the code when a job (a new post in this case) doesn’t work properly. Tracking the errors in that pinned down where the problems were. Failed jobs can also be retried.

I’m impressed by how the application works as it doesn’t break if cloud storage is unavailable or misconfigured, but stores the images locally and still publishes the post, but there’s not a lot of documentation on that area, and that seems to apply to Mastodon and Calckey as well.

I’m experimenting with iDrive as they had a very cheap introductory offer and have decent bandwidth pricing, and it’s working out pretty well now I’ve worked out how it works.