Installation v0.0.0
Prerequisites
In order to run the PanVA application you will need the following:
- Docker
- A database that follows the PanVA API Data Format
- Optional: A frontend configuration file.
Running PanVA with Docker recommended
Using the publically available Docker image, you can start the PanVA application from anywhere using the following command:
docker run -p 8080:80 -v /path/to/your/data:/panva/api/data -v /path/to/your/config.json:/panva/frontend/config.json -e APACHE_UID=1000 -e APACHE_GID=1000 ghcr.io/panbrowse/panva:main
The application will then be available on http://localhost:8080/.
TIP
Ensure Docker is running and has access to data directories before running the command.
We'll explain the various options passed to Docker:
option | explanation |
---|---|
-p 8080:80 | The image exposes port 80. This option maps that port to port 8080 on the host machine. |
-v /path/to/your/data: /panva/api/data | Mounts your custom data directory to the predefined path /panva/api/data that the application looks at. Note: Make sure this directory is writable so the linkage_matrix.npy files can be stored in each homology group directory. |
(OPTIONAL) -v /path/to/your/config.json: /panva/frontend/config.json | Mounts your custom config.json file to the predefined path /panva/frontend/config.json that the application looks at. Note: The apiUrl option should be omitted in most cases. |
(OPTIONAL) -e APACHE_UID=1000 -e APACHE_GID=1000 | The data directory mounted at /panva/api/data needs to be read by the Apache webserver. To prevent permission issues, the user id (uid) and group id (gid) of the user running Apache can be changed to match the data directory on the host machine. Use ls -n to see the numeric uid and gid of a directory on the host machine. |
(OPTIONAL) --name panva_instance | Sets a name for your container. If not specified, the container gets a random name that is visible in Docker Desktop. |
Building the application
WARNING
For most use cases, building a custom docker image is not needed
To run the application, you don't need to build the application yourself. In most cases running the application via the public Docker image is what you're looking for.
You can, however, build a Docker image of the application yourself. From the root of this repository run the following command:
docker build -t panva .
When running the application, instead of using the provided Docker image name you use the panva
tag instead:
docker run [options] panva
TIP
More information for development can be found here