Skip to content

pyronear/pyro-platform

Repository files navigation

Pyronear Platform

License: Apache 2.0 Codacy Badge Build Status

The building blocks of our wildfire detection & monitoring API.

Quick Tour

Running/stopping the service

You can run the app container using this command for dev purposes:

make run_dev

or for production:

make run

You can now navigate to http://localhost:8050/ to interact with the app.

In order to stop the service, run:

make stop

If you need to launch the pyro-api in your development environment you can use the pyro-devops project. You can use it in two different ways : => by building the pyro-platform image and launch the full development environment with the command :

make run

=> by launching the development environment without the platform :

make run-engine

adding this line in your /etc/hosts :

127.0.0.1 www.localstack.com localstack

and launching your project locally :

python3 app/index.py

Installation

Prerequisites

The project was designed so that everything runs with Docker orchestration (standalone virtual environment), so you won't need to install any additional libraries.

Configuration

In order to run the project, you will need to specific some information, which can be done using a .env file. This file will have to hold the following information:

  • API_URL: URL to the endpoint of Pyronear Alert API
  • API_LOGIN: your login for the API
  • API_PWD: your password for the API

Optionally, the following information can be added:

  • SENTRY_DSN: the URL of the Sentry project, which monitors back-end errors and report them back.
  • SENTRY_SERVER_NAME: the server tag to apply to events.
  • DEBUG: whether the app is in debug or production mode

So your .env file should look like something similar to:

API_URL='https://alert.mydomain.com/api'
API_LOGIN='forest_saver'
API_PWD='ILoveForest!'
SENTRY_DSN='https://replace.with.you.sentry.dsn/'
SENTRY_SERVER_NAME=my_storage_bucket_name

The file should be placed at the root folder of your local copy of the project.

Also please note that you should use docker-compose-dev.yml file for dev as we do not need reverse proxy:

docker-compose -f docker-compose-dev.yml up

For production we use docker-compose.yml in which there is the Traefik Reverse Proxy.

Traefik interacts with the Dash frontend app via an external network called web, this needs do be created as follow:

docker network create web

License

Distributed under the Apache 2.0 License. See LICENSE for more information.