this post was submitted on 13 Feb 2024
214 points (97.3% liked)
Programming
17398 readers
196 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Where are you uploading galleries? Just your own HDD connected to a static website?
Currently I borrow space on my dad's web host, he wasn't using it and was ok with me doing it.
Not OP but I would use a CDN like bunny.net. It's cheap and you get geo redundancy and all kinds of perks with it.
You can set the Bunny CDN to pull from your home server or you can upload your files to a Bunny storage and it can pull from there so it doesn't matter if your home server is on or not.
I'm currently running only the dynamic parts at home (CMS, generators etc.) and I "host" all the static generated stuff on there.
Yeah, that sounds like a good idea. I am using photoprism for photo management. It doesn't really support S3 or any CDN. You could use a fuse filesystem or something, but it's very slow.
It's probably better to export the photos if you want to make a public presentation gallery. Many image viewers can create static HTML pages for a given set of images, GThumb, DigiKam etc. But it could work with a photo management app too if it has presentation gallery support and can be configured to serve images from a CDN prefix.
The catch with CDN support in dynamic apps is that they need to be aware that you want to use a CDN so they can provide both a dynamic view (of whatever resource you're trying to cache) so you have something to pull the original from, as well as use the CDN URL for their main pages so they take advantage of the caching.
Alternatively, if they don't have CDN support, or you want to isolate the dynamic app from the public, if the app makes good static-looking URLs you can scrape it, make static pages and upload that to the CDN.
I recently did this for someone who was using a gallery app that was made with super old MySQL and PHP versions and was super unsafe and inefficient. I used URL-rewriting to make all pages end in .html and .jpg, then scraped it with wget, uploaded the whole thing to CDN and pointed a CNAME of their domain to the CDN domain. The dynamic app now lives on a private server in docker containers which they access over VPN, and when they change stuff I just run a script that takes a new snapshot and uploads it to the CDN.
Definitely a good way to do it. Photoprism supports uploading to WebDAV for sharing. Could front a CDN upload with a web dav server 🤔