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 "Note: This does not include a blurring API" by default If a blurring API is needed, the
docker-compose-blurring.yml
file can be used alongside it with:Note: for linux users, you also need to use the
docker-compose-full-linux.yml
fileDue to difference in networking between mac/windows and linux, the
docker-compose-full.yml
file is not able to use the host networking by default. To use host networking, you need to use thedocker-compose-full-linux.yml
file.
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.