Skip to content

Commit

Permalink
Added some extra references to RoadRunner
Browse files Browse the repository at this point in the history
  • Loading branch information
acelaya committed Sep 3, 2022
1 parent f63b74b commit 3ec7072
Show file tree
Hide file tree
Showing 5 changed files with 6 additions and 8 deletions.
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
## Exposing Shlink through a reverse proxy

When you are serving Shlink with openswoole or using the docker image (which uses openswoole internally), you'll probably want to put a reverse proxy in front of it.
When you are serving Shlink with openswoole or using the openswoole-based docker image, you'll probably want to put a reverse proxy in front of it.

Openswoole have some limitations, that can be solved by using a reverse proxy:

* Using a standard HTTP port (80, 443), so that users don't have to explicitly set the port in the URL.
* Using an `https` certificate to encrypt the connection, keeping your users' data safe.

It is possible to achieve both just by tweaking openswoole, but it is recommended to, instead, put a standard HTTP server in front of it, like nginx or apache, as swoole implements only a subset of the HTTP standard.
It is possible to achieve both just by tweaking openswoole, but instead, it is recommended to put a standard HTTP server in front of it, like nginx or apache, as openswoole implements only a subset of the HTTP standard.

The only consideration to ensure all Shlink capabilities work as expected, is that you make sure the consumer's IP address, and the request's domain, are forwarded from the proxy to Shlink.

Expand Down
2 changes: 1 addition & 1 deletion src/content/documentation/advanced/real-time-updates.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Currently, Shlink supports the next technologies to publish updates.
* [Webhooks](/documentation/advanced/real-time-updates#webhooks): will be called with new visits.

<Callout type="warning">
Real-time updates only work when <Link href="/documentation/serve-with-openswoole">serving Shlink with openswoole</Link>, which is the case if you are using the <Link href="/documentation/install-docker-image">docker image</Link>.
Real-time updates only work when <Link href="/documentation/supported-runtimes/serve-with-openswoole/">serving Shlink with openswoole</Link>, which is the case if you are using the <Link href="/documentation/install-docker-image">docker image</Link>.
</Callout>

### Topics and payloads
Expand Down
2 changes: 1 addition & 1 deletion src/content/documentation/long-running-tasks.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Shlink provides the command `visit:locate` which will process all the IP address

You can of course run it manually from time to time, but it is a good idea to schedule its execution.

> When serving Shlink [with openswoole](/documentation/serve-with-openswoole), locating visits is automatically done just after redirecting end users. However, it might be a good idea to have previous scheduling in place, as a backup in case some of those asynchronous processes fail.
> Shlink locates visits automatically just after redirecting end users. However, it might be a good idea to have previous scheduling in place, as a backup in case it fails.
>
> When using the docker image, you can either configure this scheduling externally, or, if using Shlink v2.8.0 or newer, provide `-e ENABLE_PERIODIC_VISIT_LOCATE=true` in order to schedule visits to be located very hour inside the container itself.
Expand Down
4 changes: 1 addition & 3 deletions src/content/documentation/tracking-visits.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,7 @@ Shlink will track every time your short URLs are opened, and then try to geoloca

In order to geolocate visits, Shlink makes use of a [GeoLite2](https://dev.maxmind.com/geoip/geoip2/geolite2/) database, by [MaxMind](https://www.maxmind.com), which is used to match the location of the visitor's IP address.

Depending on your setup, visits could be geolocated almost in real time (if you [serve Shlink with openswoole](/documentation/serve-with-openswoole) or use the [docker image](/documentation/install-docker-image)), or you will have to configure a [scheduled task](/documentation/long-running-tasks#locate-visits) that does it.

To make sure your GeoLite2 db is always up to date, you will have to [configure your own license key](/documentation/geolite-license-key).
To make sure your GeoLite2 db is always up-to-date, you will have to [configure your own license key](/documentation/geolite-license-key).

Also, Shlink will make sure you fulfil most data protection regulations, by storing only an anonymized version of the visitor's IP address (unless deliberately opting-out of this behavior).

Expand Down
2 changes: 1 addition & 1 deletion src/content/documentation/update-your-instance.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,4 @@ That said, the process you should follow would be this:
1. Rename your existing Shlink directory to something else (ie. `shlink` -> `shlink-old`).
2. Download and extract the new version of Shlink, and set the directory name to that of the old version (ie. `shlink`).
3. Run the `vendor/bin/shlink-installer update` script in the new version's directory to migrate your configuration over. You will be asked to provide the path to the old instance (ie. `shlink-old`).
4. If you are using shlink with openswoole, restart the service by running `/etc/init.d/shlink_swoole restart`.
4. Restart the service (either Shlink if you are using openswoole/RoadRunner, or the web server of your choice).

0 comments on commit 3ec7072

Please sign in to comment.