• lemmyvore@feddit.nl
    link
    fedilink
    English
    arrow-up
    2
    ·
    11 months ago

    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
      link
      fedilink
      arrow-up
      1
      ·
      11 months ago

      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
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        11 months ago

        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
          link
          fedilink
          arrow-up
          1
          ·
          11 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 🤔