# Getting started {#getting-started}


Shlink is a self-hosted URL shortener which provides both a [REST](https://sourcey-shlink.pages.dev/documentation/api-docs/index.md) and a [CLI](https://sourcey-shlink.pages.dev/documentation/command-line-interface/entry-point/index.md) interface to interact with it.

Additionally, there's also an official [Shlink web client](https://sourcey-shlink.pages.dev/documentation/shlink-web-client/index.md) which, by making use of Shlink's REST API, provides a beautiful web UI to handle multiple Shlink instances.

This documentation will walk you through the process of getting both Shlink and shlink-web-client installed, using one of the many available approaches.

You will also learn how it is architected, how to use it once installed, and answers to frequently asked questions.


## Where to start {#where-to-start}








**[Install Shlink](https://sourcey-shlink.pages.dev/documentation/install-docker-image/index.md)**

Run the official Docker image, or the dist file on a PHP runtime you choose.






**[Configure it](https://sourcey-shlink.pages.dev/documentation/environment-variables/index.md)**

Every environment variable, from the default domain to the database and cache.






**[Go further](https://sourcey-shlink.pages.dev/documentation/advanced/index.md)**

Dynamic redirects, multiple domains, imports, real-time updates and more.






**[Automate with the REST API](https://sourcey-shlink.pages.dev/documentation/api-docs/index.md)**

Authentication, errors and API key roles, then every endpoint for your release.






**[Use the web client](https://sourcey-shlink.pages.dev/documentation/shlink-web-client/index.md)**

A web UI that manages short URLs across several Shlink instances.






**[Connect your tools](https://sourcey-shlink.pages.dev/documentation/integrations/index.md)**

The official PHP and JS SDKs, and apps that work with Shlink.






## Table of contents {#table-of-contents}






- [Install docker image](https://sourcey-shlink.pages.dev/documentation/install-docker-image/index.md)
- [Install from dist file](https://sourcey-shlink.pages.dev/documentation/install-dist-file/index.md)
- [Supported runtimes](https://sourcey-shlink.pages.dev/documentation/supported-runtimes/index.md)
  - [RoadRunner](https://sourcey-shlink.pages.dev/documentation/supported-runtimes/serve-with-roadrunner/index.md)
  - [FrankenPHP](https://sourcey-shlink.pages.dev/documentation/supported-runtimes/serve-with-franken-php/index.md)
  - [Classic web server](https://sourcey-shlink.pages.dev/documentation/supported-runtimes/classic-web-server/index.md)
- [Supported db engines](https://sourcey-shlink.pages.dev/documentation/supported-db-engines/index.md)
- [GeoLite2 license key](https://sourcey-shlink.pages.dev/documentation/geolite-license-key/index.md)
- [Update your instance](https://sourcey-shlink.pages.dev/documentation/update-your-instance/index.md)
- [Tracking visits](https://sourcey-shlink.pages.dev/documentation/tracking-visits/index.md)
- [Some features](https://sourcey-shlink.pages.dev/documentation/some-features/index.md)
- [Environment variables](https://sourcey-shlink.pages.dev/documentation/environment-variables/index.md)
- [Long-running tasks](https://sourcey-shlink.pages.dev/documentation/long-running-tasks/index.md)
- [Dynamic redirects](https://sourcey-shlink.pages.dev/documentation/advanced/dynamic-rule-based-redirects-system/index.md)
- [Special redirects](https://sourcey-shlink.pages.dev/documentation/advanced/special-redirects/index.md)
- [Multiple domains](https://sourcey-shlink.pages.dev/documentation/advanced/multiple-domains/index.md)
- [Import short URLs](https://sourcey-shlink.pages.dev/documentation/advanced/import-short-urls/index.md)
- [Real-time updates](https://sourcey-shlink.pages.dev/documentation/advanced/real-time-updates/index.md)
- [Using Redis or Valkey](https://sourcey-shlink.pages.dev/documentation/advanced/using-redis-or-valkey/index.md)
- [Using a reverse proxy](https://sourcey-shlink.pages.dev/documentation/advanced/exposing-through-reverse-proxy/index.md)
- [Send visits to Matomo](https://sourcey-shlink.pages.dev/documentation/advanced/send-visits-to-matomo/index.md)
- [Shlink architecture](https://sourcey-shlink.pages.dev/documentation/advanced/shlink-architecture/index.md)
- [CLI entry point](https://sourcey-shlink.pages.dev/documentation/command-line-interface/entry-point/index.md)
- [Installation tool](https://sourcey-shlink.pages.dev/documentation/command-line-interface/installation-tool/index.md)
- [Authentication](https://sourcey-shlink.pages.dev/documentation/api-docs/authentication/index.md)
- [Error management](https://sourcey-shlink.pages.dev/documentation/api-docs/error-management/index.md)
- [API key roles](https://sourcey-shlink.pages.dev/documentation/api-docs/api-key-roles/index.md)
- [Installation](https://sourcey-shlink.pages.dev/documentation/shlink-web-client/installation/index.md)
- [Serve in sub path](https://sourcey-shlink.pages.dev/documentation/shlink-web-client/serve-in-sub-path/index.md)
- [Pre-configuring servers](https://sourcey-shlink.pages.dev/documentation/shlink-web-client/pre-configuring-servers/index.md)
- [Short Menu for Mac](https://sourcey-shlink.pages.dev/documentation/integrations/short-menu-mac/index.md)
- [Short Menu for iOS](https://sourcey-shlink.pages.dev/documentation/integrations/short-menu-ios/index.md)
- [GNOME Shell extension](https://sourcey-shlink.pages.dev/documentation/integrations/gnome-shell-extension/index.md)
- [Microsoft PowerToys Run](https://sourcey-shlink.pages.dev/documentation/integrations/microsoft-power-toys-run/index.md)
- [Shlink iOS shortcut](https://sourcey-shlink.pages.dev/documentation/integrations/shlink-ios-shortcut/index.md)
- [Troubleshooting](https://sourcey-shlink.pages.dev/documentation/troubleshooting/index.md)
