@@ -28,7 +28,7 @@ your OASIS and the central NOMAD user management and to allow your users to uplo
Your machine needs to be accessible under this hostname from the public internet. The host
name needs to be registered in the central NOMAD in order to configure the central user-
management correctly.
- Your NOMAD account should act as an admin account for your OASIS. This account must be declared
- You need to have a NOMAD account that acts as an *admin account* for your OASIS. This account must be declared
to the central NOMAD as an OASIS admin in order to give it the necessary rights in the central user management.
- You must know your NOMAD user-id. This information has to be provided by us.
...
...
@@ -36,20 +36,22 @@ Please [write us](mailto:support@nomad-lab.eu) to register your NOMAD account as
admin and to register your hostname. Please replace the indicated configuration items with
the right information.
In principle, you can also run your own user management. This is not yet documented.
The central user management will make synchronizing data between NOMAD installations easer and generally recommend to use the central system.
But in principle, you can also run your own user management. See the section on
[your own user management](#provide-and-connect-your-own-user-management).
## Docker and docker compose
### Pre-requisites
NOMAD software is distributed as a set of docker containers and there are also other services required
that can be run with docker. Further, we use docker-compose to setup
all necessary container in the simplest way possible.
NOMAD software is distributed as a set of docker containers and there are also other services required that can be run with docker.
Further, we use docker-compose to setup all necessary container in the simplest way possible.
You will need a single computer, with **docker** and **docker-compose** installed.
You will need a single computer, with **docker** and **docker-compose** installed. Refer
to the official [docker](https://docs.docker.com/engine/install/) and [docker-compose](https://docs.docker.com/compose/install/)
documentation for installation instructions.
The following will run all necessary services with docker. These comprise: a **mongodb**
The following will run all necessary services with docker. These comprise: a **mongo**
database, an **elasticsearch**, a **rabbitmq** distributed task queue, the NOMAD **app**,
NOMAD **worker**, and NOMAD **gui**. In this [introduction](index.md#architecture),
you will learn what each service does and why it is necessary.
...
...
@@ -57,8 +59,7 @@ you will learn what each service does and why it is necessary.
### Configuration overview
All docker container are configured via docker-compose and the respective `docker-compose.yaml` file.
Further, we will need to mount some configuration files to configure the NOMAD services within
their respective containers.
Further, we will need to mount some configuration files to configure the NOMAD services within their respective containers.
There are three files to configure:
...
...
@@ -195,7 +196,7 @@ client:
services:
api_host:'<your-host>'
api_prefix:'/nomad-oasis'
api_base_path:'/nomad-oasis'
admin_user_id:'<youradminuserid>'
keycloak:
...
...
@@ -225,7 +226,6 @@ You need to change the following:
A few things to notice:
- Be secretive about your admin credentials; make sure this file is not publicly readable.
- We will use your hostname as `deployment_id`. When you publish uploads from your Oasis to the
central NOMAD, this will be added as upload metadata and allows to see where the upload came
from.
...
...
@@ -291,13 +291,23 @@ A few things to notice:
- It configures the base path (`nomad-oasis`) at multiple places. It needs to be changed, if you use a different base path.
- You can use the server for additional content if you like.
-`client_max_body_size` sets a limit to the possible upload size.
- If you operate the GUI container behind another proxy, keep in mind that your proxy should not buffer requests/responses to allow streaming of large requests/responses for `../api/uploads` and `../api/raw`.
### gunicorn
Gunicorn is the WSGI-server that runs the nomad app. Consult the
[gunicorn documentation](https://docs.gunicorn.org/en/stable/configure.html) for
configuration options.
You can add an additional reverse proxy in front or modify the nginx in the docker-compose.yaml
to [support https](http://nginx.org/en/docs/http/configuring_https_servers.html).
If you operate the GUI container behind another proxy, keep in mind that your proxy should
not buffer requests/responses to allow streaming of large requests/responses for `api/v1/uploads` and `api/v1/.*/download`.
An nginx reverse proxy location on an additional reverse proxy, could have these directives
to ensure the correct http headers and allows download and upload of large files: