this post was submitted on 13 Feb 2024
211 points (97.3% liked)

Programming

17408 readers
66 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
[–] lemmyvore@feddit.nl 2 points 9 months ago (1 children)

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.

[–] projectmoon@lemm.ee 1 points 9 months ago (1 children)

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.

[–] lemmyvore@feddit.nl 1 points 9 months ago* (last edited 9 months ago) (1 children)

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.

[–] projectmoon@lemm.ee 1 points 9 months ago

Definitely a good way to do it. Photoprism supports uploading to WebDAV for sharing. Could front a CDN upload with a web dav server 🤔