🔗 Shlink

Shlink if a full-featured link shortener that you cna self-host and use to make flexible links with analytics/redirects built in.

Shlink — The URL shortener
The self-hosted and PHP-based URL shortener application with CLI and REST interfaces

Need to post some links in a small amount of space? You're going to want Shlink (code). It's a F/OSS link shortener with a great featureset, solid UI and good usability.

Shlink is chock full of features:

Shlink features (source: https://shlink.io/features)

If that wasn't enough, they've also got great documentation as well to teach you to run the tool.

Often rare with smaller projects, Shlink has architecture documentation that you can peruse:

Shlink architecture

While most people (self-hosters, for example) may not be running a private network per-say or have well defined/separated ingress, the architectural overview is useful.

Running Shlink is simple since there is an official docker image (with 10MM downloads!), and the docker container has been built in a way that makes it easy to run:

docker run \
    --name my_shlink \
    -p 8080:8080 \
    -e DEFAULT_DOMAIN=your.domain.tld \
    -e IS_HTTPS_ENABLED=true \
    -e GEOLITE_LICENSE_KEY=<license key> \
    shlinkio/shlink:stable

For your own purposes it's a probably a good idea to stick to a specific release of shlink (which are also well documented) rather than using stable (which can change upon re-pull).