Hi everyone, we want to set up a cdn in order to avoid hosting the images in our instance
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
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