Install Panoramax API
Panoramax API can be installed with different means, you can install it:
- as a Python package, manually or via PyPI
- with a simple Docker
- ☁️ using a PaaS like Scalingo
- with a fully integrated Docker compose
The manual approach offers a high-level of customization whereas the docker compose/Scalingo approach are more plug & play.
Note
A Panoramax instance always needs an up and running database, as seen in database setup documentation
As a Python package
Panoramax API best runs with a recent Linux server and needs at least Python 3.10
Install
You have to run following commands for installing classic dependencies:
☁️ Scalingo
The Panoramax API can be easily deployed on Scalingo solutions. All necessary settings should be defined as environment variables. Various fixtures were defined in Panoramax to make the process as straightforward as possible.
General documentation for deploying applications on Scalingo is available on their website.
Docker
You just need an up-to-date Docker version. The image is panoramax/api and are tagged by versions.
There are 2 particular tags:
latest
is the latest released versiondevelop
is the rolling release for on the edge features
Note: the repository was geovisio/api before being moved to panoramax/api. It you still you geovisio/api, make sure to update the docker image name to get the lastest versions.
Docker Compose
You just need an up to date Docker version. The Docker compose provided in this repository will install all needed components, including the database.
Each Docker compose files in the repository is a demo of a way to setup Panoramax API, but since Panoramax API is quite flexible, not all possibilities are covered.
There is:
- docker-compose.yaml
-
minimal example with only Panoramax API
- docker/docker-compose-full.yaml
-
offers a full fledged Panoramax instance (Website, API, database, Keycloak).
Note: This does not include a blurring API
If a blurring API is needed, the
Sadly, for the moment it will use the old Panoramax blurring service since the newest one, SGBlur is not yet dockerized.docker-compose-blurring.yml
file can be used alongside it with:
For more complete setup, you can check the tutorials:
Warning
The Docker compose files provided in this repository are more meant as examples, and will likely need to be updated to fit your production workflow.
You will likely need to at least handle SSL/HTTPS and 🗄️ data backup.
Feel free to copy the Docker compose file that better suits your needs and adapt it.