Hi everyone, we want to set up a cdn in order to avoid hosting the images in our instance
Your best option might be to setup sshfs to mount a folder from another server, and use that to store images.
https://www.cyberciti.biz/faq/how-to-mount-remote-directory-filesystems-with-sshfs-on-linux/
This will usually be rather slow, so you should also setup a cache for images in nginx.
we want to avoid using a disk unit as possible, since our hosting is limited, i was thinking something about setting up an s3 bucket and use cloudfront, i have done this with some e-commerce applications so that’s where i’m heading my question to
Pictrs (image hosting software which we use for Lemmy) supports s3 as storage backend, so you could use that. However, migrating from local disk storage to s3 storage is currently not working and is being fixed. You might want to get in contact with the dev (asonix), hes very helpful.
The reason I recommended sshfs is that you can use it with any server, or even a desktop or raspberry pi. This approach is much cheaper than s3 afaik.
There is always s3fs to mount S3 bucket as storage :^)
Can i haz a s3 bucket?
What do you mean? S3 storage basic unit for storage “device” is a bucket.
You don’t use the whole S3, you use a “virtual storage device or database” and that is a bucket.
problem with s3 is that while you might think it is you who has a bucket, it is really jeff bezos’ bucket
Oye DonDino, tas rechulo y lo sabes. !tip 12
:^)
An example
nginx
site caching config, battle-tested:
https://0xacab.org/rysiek/fasada/-/blob/master/services/etc/nginx/sites/example.com.conf
I have setup just a hosted a folder and serving it over nginx. Whenever I need to use CDN, I just transfer the content to the folder and use the link to that file as CDN link.
This is a very neat hack.
Not a very good hack if you need to host a large number of files.
Sounds interesting, allow me to give it a try, any tips?
No tips, just host a path to a folder. Make sure the permissions to that folder are correct and only linked files are accessible
You want images not on local app server disk; do you want to host the files yourself (I.e. on VM disk)? Or are you open to a managed service like s3? What disk consumption are we at? Number of files? What kind of request volume and data throughout are we talking? How fast are those things growing?
Depending on your hosting, S3 may well be less expensive, and it will def be simpler.
If you’re forced to DIY you could look at seaweedfs, which is an HA horizontally scalable blob storage cluster which exposes an S3 compatible interface.
Either way, someing like Pictrs might be nice over some kind of S3.