For my Masters thesis project, I’m required to keep a blog documenting my progress, and being the open source/self hosting guy that I am, I decided to host my own WriteFreely instance on my VPS.

The problem is, WriteFreely doesn’t support direct image uploads, only embeds. I’d of course like to self host my images for the blog too, so I’m in need of a really lightweight image hosting solution. Things like Immich or Nextcloud are far too much for what I need, I basically just need a password-protected upload interface and the ability to grab the direct links to the images to embed them. I don’t need analytics or account management or anything like that.

I know I could transfer images to my server directly via scp or rsync or ftp and host them behind nginx directly, but that’s a faff and I’d rather just deploy a container once and be done with it.

Does anyone have any recommendations?

  • Singapore_Jin@lemmy.1095.me
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 hours ago

    @SpatchyIsOnline — have you looked at Coppice or Zipline? Both are purpose-built for exactly this use case: drop a file, get a direct link, done. No analytics bloat, no user management unless you want it, just containerized and ready. Zipline especially is Docker-native and the config is a single YAML. Since you’re already running WriteFreely on a VPS, spinning up another lightweight container shouldn’t hurt your resource budget. More minimal stack examples at https://cxgo.ai/l/D0MLVun if you’re comparing options.

  • atzanteol@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    1
    ·
    5 hours ago

    Things like Immich or Nextcloud are far too much for what I need, I basically just need a password-protected upload interface and the ability to grab the direct links to the images to embed them.

    Why do you care that they do things you don’t need if they also do what you need?

    Because these do just what you need and do it well.

    • SpatchyIsOnline@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      15 minutes ago

      On my homelab I don’t mind so much as I have 64gb of ram and and 8tb of storage, but on my vps I want everything to be relatively lightweight

  • Rimu@piefed.social
    link
    fedilink
    English
    arrow-up
    6
    ·
    16 hours ago

    You could use apache to create a webdav share. I bet there’s a pre built container for it.

    Webdav is really underrated, imo.

  • mkwarman@lemmy.world
    link
    fedilink
    English
    arrow-up
    15
    ·
    23 hours ago

    Just curious, what about scp-ing to your server is less than ideal for you? I would think a static server with nginx or similar would be an easy one time setup and then you do a single command to scp to it whenever you want to add images. No redeploy necessary. I would almost consider that easier than other bespoke solutions that you would have to learn

    • SpatchyIsOnline@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      9
      ·
      22 hours ago

      I would like the option to be able to upload images from a multitude of devices like my phone or even a university PC if necessary. I don’t want to have to worry about setting up public key access on every device I might reasonably want to use.

      I’m a developer and have daily driven Linux for nearly 3 years, so I’m beyond familiar with terminal usage, but scp isn’t exactly what I’d call a pleasent or convenient command. Every time I have to use it my immediate mood is ugh >:( not yippee :)

      • queerlilhayseed@piefed.blahaj.zone
        link
        fedilink
        English
        arrow-up
        7
        ·
        edit-2
        22 hours ago

        I have a similar relationship with iptables. Like, I can do it, but it’s the boring stuff I gotta get out of the way to make the interesting stuff work.

        edit: thought of another one. Any time I’ve ever opened xorg.conf, I was having a bad time.

      • PlexSheep@infosec.pub
        link
        fedilink
        English
        arrow-up
        3
        ·
        22 hours ago

        You can make a new user on the server with password login, and just access it with SFTP. Most graphical file explorers can do SFTP.

        • RamRabbit@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          21 hours ago

          Yep, you could also put any portable SFTP program on a thumb drive and SFTP it to your box from any computer you are at.

    • corsicanguppy@lemmy.ca
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      2
      ·
      15 hours ago

      Doood. npm in production is a bad pattern in this age of supply-chain sploits. Best vendor that into the artifact when ya ship … Nevermind.

      • Denys Nykula@piefed.social
        link
        fedilink
        English
        arrow-up
        1
        ·
        8 hours ago

        I can make a Docker image, like the one I made for Lanquiz. It’s not high on my to do list, though. Before that, I want to update integration tests (working draft still not committed), and store data under system-specific paths not in repo subdirectories (breaking change).

  • Pixel@lemmy.ca
    link
    fedilink
    English
    arrow-up
    2
    ·
    23 hours ago

    I personally do ShareX, with an SFTP destination for an nginx webserver. It has an image editor built in as part of the workflow if you enable it, and it can automatically copy the clipboard URL.

    You could certainly go the extra mile and setup an image sharing manager or a more complicated solution if you wanted to though, if that makes overall administration easier.

    • SpatchyIsOnline@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      22 hours ago

      Thanks, I decided to go with Slink. It looks lightweight enough, easy to set up and while not quite as minimal as I was imagining, that image resize ability when generating shared links could come in useful