Docs - update installation documentation
This commit is contained in:
parent
4f88dcc8bc
commit
a15e36de51
@ -10,6 +10,7 @@ This application is written in Python (API) and Typescript (client):
|
|||||||
- `python-forecast.io <https://github.com/ZeevG/python-forecast.io>`_ to fetch weather data from `Dark Sky <https://darksky.net>`__ (former forecast.io)
|
- `python-forecast.io <https://github.com/ZeevG/python-forecast.io>`_ to fetch weather data from `Dark Sky <https://darksky.net>`__ (former forecast.io)
|
||||||
- `dramatiq <https://flask-dramatiq.readthedocs.io/en/latest/>`_ for task queue
|
- `dramatiq <https://flask-dramatiq.readthedocs.io/en/latest/>`_ for task queue
|
||||||
- `Authlib <https://docs.authlib.org/en/latest/>`_ for OAuth 2.0 Authorization support
|
- `Authlib <https://docs.authlib.org/en/latest/>`_ for OAuth 2.0 Authorization support
|
||||||
|
- `Flask-Limiter <https://flask-limiter.readthedocs.io/en/stable>`_ for API rate limits
|
||||||
- Client:
|
- Client:
|
||||||
- Vue3/Vuex
|
- Vue3/Vuex
|
||||||
- `Leaflet <https://leafletjs.com/>`__ to display map
|
- `Leaflet <https://leafletjs.com/>`__ to display map
|
||||||
@ -21,13 +22,16 @@ This application is written in Python (API) and Typescript (client):
|
|||||||
Prerequisites
|
Prerequisites
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
- Python 3.7+
|
- mandatory
|
||||||
- PostgreSQL database (10+)
|
- Python 3.7+
|
||||||
- SMTP provider and Redis for task queue (if email sending is enabled)
|
- PostgreSQL 10+
|
||||||
- API key from `Dark Sky <https://darksky.net/dev>`__ (not mandatory)
|
- optional
|
||||||
- `Poetry <https://poetry.eustace.io>`__ (for installation from sources only)
|
- Redis for task queue (if email sending is enabled) and API rate limits
|
||||||
- `Yarn <https://yarnpkg.com>`__ (for development only)
|
- SMTP provider (if email sending is enabled)
|
||||||
- Docker and Docker Compose (for development or evaluation purposes)
|
- API key from `Dark Sky <https://darksky.net/dev>`__
|
||||||
|
- `Poetry <https://poetry.eustace.io>`__ (for installation from sources only)
|
||||||
|
- `Yarn <https://yarnpkg.com>`__ (for development only)
|
||||||
|
- Docker and Docker Compose (for development or evaluation purposes)
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
| The following steps describe an installation on Linux systems (tested
|
| The following steps describe an installation on Linux systems (tested
|
||||||
@ -156,7 +160,7 @@ deployment method.
|
|||||||
|
|
||||||
.. versionadded:: 0.3.0
|
.. versionadded:: 0.3.0
|
||||||
|
|
||||||
Redis instance used by **Dramatiq**.
|
Redis instance used by **Dramatiq** and **Flask-Limiter**.
|
||||||
|
|
||||||
:default: local Redis instance (``redis://``)
|
:default: local Redis instance (``redis://``)
|
||||||
|
|
||||||
@ -168,6 +172,15 @@ deployment method.
|
|||||||
Number of processes used by **Dramatiq**.
|
Number of processes used by **Dramatiq**.
|
||||||
|
|
||||||
|
|
||||||
|
.. envvar:: API_RATE_LIMITS 🆕
|
||||||
|
|
||||||
|
.. versionadded:: 0.7.0
|
||||||
|
|
||||||
|
API rate limits, see `API rate limits <installation.html#api-rate-limits>`__.
|
||||||
|
|
||||||
|
:default: `300 per 5 minutes`
|
||||||
|
|
||||||
|
|
||||||
.. envvar:: TILE_SERVER_URL
|
.. envvar:: TILE_SERVER_URL
|
||||||
|
|
||||||
.. versionadded:: 0.4.0
|
.. versionadded:: 0.4.0
|
||||||
@ -178,7 +191,7 @@ deployment method.
|
|||||||
:default: `https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png`
|
:default: `https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png`
|
||||||
|
|
||||||
|
|
||||||
.. envvar:: STATICMAP_SUBDOMAINS 🆕
|
.. envvar:: STATICMAP_SUBDOMAINS
|
||||||
|
|
||||||
.. versionadded:: 0.6.10
|
.. versionadded:: 0.6.10
|
||||||
|
|
||||||
@ -289,6 +302,42 @@ For instance, to set OSM France tile server, the expected values are:
|
|||||||
The subdomain will be chosen randomly.
|
The subdomain will be chosen randomly.
|
||||||
|
|
||||||
|
|
||||||
|
API rate limits 🆕
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
.. versionadded:: 0.7.0
|
||||||
|
|
||||||
|
| API rate limits are managed by `Flask-Limiter <https://flask-limiter.readthedocs.io/en/stable>`_, based on IP with fixed window strategy.
|
||||||
|
| To enable rate limits, **Redis** must be available.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
| If no Redis instance is available for rate limits, FitTrackee can still start.
|
||||||
|
|
||||||
|
| All endpoints are subject to rate limits, except endpoints serving assets.
|
||||||
|
| Limits can be modified by setting the environment variable ``API_RATE_LIMITS`` (see `Flask-Limiter documentation for notation <https://flask-limiter.readthedocs.io/en/stable/configuration.html#rate-limit-string-notation>`_).
|
||||||
|
| Rate limits must be separated by a comma, for instance:
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
|
||||||
|
export API_RATE_LIMITS="200 per day, 50 per hour"
|
||||||
|
|
||||||
|
**Flask-Limiter** provides a `Command Line Interface <https://flask-limiter.readthedocs.io/en/stable/cli.html>`_ for maintenance and diagnostic purposes.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ flask limiter
|
||||||
|
Usage: flask limiter [OPTIONS] COMMAND [ARGS]...
|
||||||
|
|
||||||
|
Flask-Limiter maintenance & utility commmands
|
||||||
|
|
||||||
|
Options:
|
||||||
|
--help Show this message and exit.
|
||||||
|
|
||||||
|
Commands:
|
||||||
|
clear Clear limits for a specific key
|
||||||
|
config View the extension configuration
|
||||||
|
limits Enumerate details about all routes with rate limits
|
||||||
|
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user