Deploying the master node - SeaDataCloud/Documentation GitHub Wiki

Last changed: Merret, 2020-07-01

This is for the site that runs the VRE core services: Dashboard and NextCloud. To make it easier, we'll use the example name manatee (the master node - in Athens this is sdc-test.argo.grnet.gr). Example names for service nodes will be any marine animal with s (for services, e.g. seagull, stingray...).

For efficiency reasons, we also run the ODV service on this node. This way, it can directly access the data stored in the NextCloud.

ALL OF THIS IS WIP!!

Prerequisites:

  • VM or server running Linux (the steps below are run on Linux Debian 7)
  • Hardware specs: [TODO]
  • A volume (size: some GB [TODO]) exposed as NFS for other services to mount. See this wiki page: https://github.com/SeaDataCloud/Documentation/wiki/Deploying-NFS-Share-at-a-node
  • https certificate (not self-signed)
  • docker and docker-compose installed (docker-compose)[https://docs.docker.com/compose/install/]
  • Other services to install: wget, git [TODO: What is git for? Still needed?]
yum install git
yum install wget
  • Firewall: Ports 80, 443.
  • What about port 5000 for data sync API?
  • What about port 9200 for log shipping?
  • The hostname vre.seadatanet.org should point to this (DNS alias? Redirect?)
  • uids: The services run in containers as users 33 and 1000. If this is not convenient, you might think about mapping them (see https://docs.docker.com/engine/security/userns-remap/)

Preparation

Common to all machines

Docker registry and docker network

  • Login to the SeaDataCloud Docker Registry:
docker login registry-sdc.argo.grnet.gr
# ask Themis/Merret/Sebastian for credentials
  • Create the docker-network that all user-facing services will share:
docker network create vre_proxy

Deployment

Dashboard and Workspace

See https://github.com/SeaDataCloud/Documentation/wiki/Service:-Dashboard-and-Workspace

Reverse proxy

See https://github.com/SeaDataCloud/Documentation/wiki/Reverse-Proxy

Synchronization service

See https://github.com/SeaDataCloud/Documentation/wiki/Synchronization

ODV

See where?

File selector

See https://github.com/SeaDataCloud/Documentation/wiki/Service:-Fileselector

Monitoring and Health Status

See where??

Log shipping

Currently not being used! Skip this!

See https://github.com/SeaDataCloud/Documentation/wiki/Log-Shipping