How to setup your very own eInfraCentral instance:
-
Dependencies Deploy:
- Docker (17.12.0-ce, and 18.03.0-ce tested ; try http://get.docker.com/)
- Docker-compose (1.14.0, 1.16.1, and 1.19.0 tested ; try
sudo curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
)
Back:
- Java 8
Back build:
- Schemagen 2.2.8
- Maven 3.5.0
Front:
- Node (9; try https://deb.nodesource.com/setup_9.x)
Front build:
- make (spawned by gyp on npm install)
-
Get the code
git clone https://github.com/eInfraCentral/eic-operations.git cd eic-operations ./clone.sh
-
Install site dependencies, then set up nginx, and analytics
./prod.sh install ./sites.sh setup ./anal.sh setup
-
Fill in eic-docker/secret.env with your instance's secrets (look at the template there for guidance)
-
Build & raise backend
./mcip.sh ./tom.sh up
-
Populate repository in some way (either POST your own, or use
./dat.sh add resources
for an older snapshot of eic's catalogue)./dat.sh add types ./dat.sh add resources ./tom.sh restart
-
Build & raise frontend, and analytics:
./prod.sh up ./anal.sh up
- To enable maintenance page:
./sites.sh enable maintenance
- To disable maintenance page:
./sites.sh enable proxy
- To run docker as a sudoer:
sudo groupadd docker sudo usermod -aG docker $USER
- To fix elastic restart loops until reboot:
sysctl -w vm.max_map_count=262144
- To fix elastic restart loops forever:
- Put it in sysctl.conf