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
- Please read this page for some common stuff: https://github.com/SeaDataCloud/Documentation/wiki/Deployment-commons
- Decide on the parent directory for all things vre, e.g.
/opt/vre
in STFC or/root/
in Athens, and create it.
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