Administrator ############# `FitTrackee fails to start` ~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Check the database URL in `environment variables <../installation.html#envvar-DATABASE_URL>`__ if the following error is displayed in **gunicorn** logs: .. code:: sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:postgres The variable ``DATABASE_URL`` must start with ``postgresql://` (engine URLs starting with ``postgres://`` are no longer supported). - Check the email URL in `environment variables <../installation.html#envvar-EMAIL_URL>`__ if the following error is displayed in **gunicorn** logs: .. code:: fittrackee.emails.exceptions.InvalidEmailUrlScheme A valid ``EMAIL_URL`` must be provided (see `emails <../installation.html#emails>`__). `Map images are not displayed but map is shown in Workout detail` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Check the path in `environment variables <../installation.html#envvar-UPLOAD_FOLDER>`__. ``UPLOAD_FOLDER`` must be set with an absolute path. `Failed to upload or download files` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Check ``client_max_body_size`` in **nginx** config. Increase the value to handle larger files (see **nginx** `documentation `_). - Increase **gunicorn** `timeout `__ value if the following error is displayed in gunicorn log: ``[CRITICAL] WORKER TIMEOUT``. ``RuntimeError: thread already started`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - | This error appears in task queue workers logs with `Flask-dramatiq `__ CLI on Python 3.13+. | The workaround is to use `Dramatiq `__ CLI directly, for instance: .. code:: $ dramatiq fittrackee.tasks:broker --processes=2 --log-file=dramatiq.log