VRE Backend API and Scheduler
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
2.0 KiB

1 year ago
============
Installation
============
The Virtual Research Environment will be installed with a docker compose setup. This way the hole platform is up and running within minutes.
First we need to checkout the code.
.. code-block:: bash
git clone https://git.web.rug.nl/VRE/data_drop-off.git /opt/deploy/VRE
------
Docker
------
Make sure you have Docker and Docker-Compose installed. On Debian based systems you can install it with the following setup https://docs.docker.com/engine/install/debian/
Run the following commands and a complete production setup is created.
.. code-block:: bash
cd /opt/deploy/VRE
docker-compose up
The docker setup is created according to the docker-compose.yaml in the root directory. This will create a own virtual network and some persistant storage volumes.
The following persistant volumes are created:
* Postgress data. This is used for Postgress database files
* Redis data. This is used for Redis storage
* TUSD data. This is used for the temporary file uploads that are being processed
* Static files data. This is used for Django static files served by NGINX
During installation the following docker containers will be created:
* Postgress DB server
* Redis DB server
* The Upload Service Daemon sever (TUSD)
* Django REST API server
* Django background scheduler server
* NGINX TUSD frontend server
* NGINX API frontend server
And there will be two extra docker containers running a demo site to communicate with the REST API
* Django demo portal server
* NGINX demo frontend server
Only the NGINX containers have an connection with the outside world. By default you have:
* REST API and admin on http://localhost:1337/api/redoc/ and http://localhost:1337/api/admin/
* TUSD Upload server on http://localhost:1080/files
* Django demo portal on http://localhost:8080
Settings
========
You can change the Docker setup by changing the settings in the file docker/project.env. Every setting has some explanation what is does or where it is fore.
.. literalinclude:: ../docker/project.env
:language: bash