A self-hosted URL shortener: Shlink - Keep control over all your shortened URLs, by serving them under your own domains, using this simple yet powerful tool. https://shlink.io/

I was very surprised to find this mature, full-featured URL shortener. It’s written in PHP and includes Geoblocking so your shortener isn’t abused.

A Docker quick-start guide: https://lnk.clifmo.com/ljk13

  • grumps@lemmy.i.secretponi.es
    link
    fedilink
    English
    arrow-up
    2
    ·
    4 hours ago

    This maybe isn’t for everyone but I de-dockerified Shlink pretty quickly. Moving it to two nginx vhosts (server and admin) on a Shlink LXC and a centralized Postgres server made dealing with it a lot easier.

    E.g., the initial API key shenanigans were less fiddly after I took more direct control.

    • clifmo@programming.devOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      3 hours ago

      Interesting. I deploy to my homelab with Docker so it was a fit for me. But I do want to tinker on the API to disable everything but GET. Can you share anything more about breaking it up?

    • clifmo@programming.devOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      8 hours ago

      I looked at yourls, too. I found Shlink devex to be more mature and the automated geolocation-blocking integration sold me.

      It also hasn’t had a release in 2 years and is a self-described “set of PHP scripts”. Doesn’t fit my standard for what I deploy to my homelab