Shlink is chock full of 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:
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).