This repository provides a
docker-compose file for orchestrating a series of Docker containers that collectively provide all the services that comprise the Orion platform, namely,
Please note that Orion's Docker deployment support is considered experimental. It is highly recommended that you deploy both the server and web interface manually using the instructions at
orion-docker may be unstable or outdated, and using the Dockerized version is significantly more resource-intensive than deploying the services onto your infrastructure natively.
- You need a Mapbox API token for your deployment. It is used to render the interactive map in the web interface. They are free.
- You need
Get the code:
$ git clone https://github.com/LINKIWI/orion-docker.git $ cd orion-docker
.env file for injecting configuration environment variables into the
$ cat >.env<<EOF MAPBOX_API_TOKEN=<your Mapbox API token> PORT=<local port on which you want Orion to run> EOF
Then, some Docker magic:
$ docker-compose up -d
Orion should now be running at the port you specified in the
.env file. The easiest way to expose it to the Internet behind a domain name is to reverse proxy via Apache or nginx.
As noted in the
orion-server README, there is no service-level authentication mechanism. It is still your responsibility to protect routes; otherwise, anonymous users will be able to publish and query location data to and from your Orion instance. You can do this in whatever way you see fit, but adding a layer of HTTP Basic authentication at the web server layer, while not recommended, is the easiest way to do this (and is compatible with the OwnTracks mobile clients).
docker-compose.yml starts four independent services:
Used for storing data.
Exposes API endpoints for CRUD operations on the data in the MySQL instance.
Frontend interface that queries
orion-server for location data to visualize on a map.
Reverse proxies the API routes provided by
orion-server and the static files provided by
orion-web on the same host.