-
Notifications
You must be signed in to change notification settings - Fork 1
Instalando o REMAR (em um container Docker)
Este documento descreve os passos necessários para instalar e configurar uma versão do REMAR em ambiente de produção utilizando um container Docker. Na descrição do passo a passo desse documento foi utilizado uma máquina rodando Ubuntu 16.04 LTS. Porém acredita-se que esses passos possam ser replicados em outros ambientes pois o Docker possibilita o empacotamento de uma aplicação ou ambiente inteiro dentro de um container, e a partir desse momento o ambiente inteiro torna-se portável para qualquer outro Host que contenha o Docker instalado.
Nota: <SENHA>
deve ter o mesmo valor em todos os comandos utilizados (ou seja, a senha do usuário admin
no REMAR, do root
no Tomcat/MySQL/MongoDB deve ser a mesma).
sudo apt-get update
sudo apt-get upgrade
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get -y install git curl zip oracle-java8-installer oracle-java8-set-default
sed -i '$ a export JAVA_HOME=/usr/lib/jvm/java-8-oracle' ~/.bashrc
curl -s get.sdkman.io | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install grails 2.4.5
Tutorial de instalação do Docker: https://www.digitalocean.com/community/tutorials/como-instalar-e-usar-o-docker-no-ubuntu-16-04-pt
sudo apt-get update && sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main' && sudo apt-get update
sudo apt-get install -y docker-engine
sudo systemctl status docker
Para verificar se a instalação está ok:
docker --version
Tutorial de instalação do Docker Compose: https://docs.docker.com/compose/install/
sudo -i
<root> curl -L https://github.com/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
<root> exit
sudo chmod +x /usr/local/bin/docker-compose
Para verificar se a instalação está ok:
docker-compose --version
Tutorial de instalação do Docker Convoy: https://github.com/rancher/convoy
wget https://github.com/rancher/convoy/releases/download/v0.5.0/convoy.tar.gz
tar xvzf convoy.tar.gz
sudo cp convoy/convoy convoy/convoy-pdata_tools /usr/local/bin/
sudo mkdir -p /etc/docker/plugins/
sudo bash -c 'echo "unix:///var/run/convoy/convoy.sock" > /etc/docker/plugins/convoy.spec'
mkdir $HOME/electron_docker
mkdir $HOME/volume_docker_remar
truncate -s 100G $HOME/data.vol
truncate -s 1G $HOME/metadata.vol
Clone o código fonte da plataforma REMAR no diretório $HOME/source
git clone https://github.com/loa-sead/projeto-remar source
cd source
git submodule init
git submodule update --recursive --remote
Crie o arquivo $HOME/source/ProjetoREMAR/grails-app/conf/env.properties
de acordo com o seu ambiente:
users.password=<SENHA>
dataSource.username=<SENHA>
dataSource.password=<SENHA>
dataSource.url=jdbc:mysql://mysql/remar
dataSource.dbHost=mongodb
recaptchaSecret=RECAPTCHA_SECRET
sendGridApiKey=SENDGRID_API_KEY
Nota: No código-fonte, presente no repositório, já contempla uma configuração padrão do recaptchaSecret e sendGridApiKey.
Caso deseje alterar a configuração padrão, a recaptchaSecret pode ser obtida gratuitamente neste link e sendGridApiKey pode ser obtida gratuitamente criando uma conta em https://sendgrid.com.
Em /source/Docker/ existe um arquivo chamado .env.sample
Crie um outro arquivo com o mesmo conteúdo com o nome .env:
cd $HOME/source/Docker
cp .env.sample .env
Dentro de .env troque as senhas de acordo com as senhas anteriores.
Crie o arquivo $HOME/source/ProjetoREMAR/grails-app/conf/env-dspace.properties
de acordo com o seu ambiente:
dspace.mainCommunityId=<ID da comunidade REMAR no DSpace>
dspace.restUrl=<URL do REST do DSpace>
dspace.jspuiUrl=<URL do JSPui do DSpace>
dspace.email=<email(login) do DSpace>
dspace.password=<password do login informado>
cd $HOME/source/ProjetoREMAR
grails war
cp target/ProjetoREMAR-0.1.war $HOME/volume_docker_remar/ROOT.war
cp $HOME/source/tools/manager.war $HOME/volume_docker_remar
Para a execução da plataforma são necessárias a execução de alguns comandos em 2 terminais distintos.
Ao término da execução, a plataforma REMAR poderá ser acessada na seguinte url: http://localhost.
Observações::
-
Para acesso a plataforma deve-se utilizar o seguinte par (usuário/senha): admin/
<SENHA>
(a senha definida anteriormente). -
Nenhum modelo de jogo estará disponível na plataforma. Para submeter um modelo de jogo, deve-se compilá-lo e utilizar a área de desenvolvedor. O usuário admin tem o perfil de desenvolvedor/administrador. Portanto, ele tem permissões de submeter e aprovar novos modelos de jogos.
No terminal 1 execute os seguintes comandos:
sudo losetup /dev/loop5 $HOME/data.vol
sudo losetup /dev/loop6 $HOME/metadata.vol
sudo convoy daemon --drivers devicemapper --driver-opts dm.datadev=/dev/loop5 --driver-opts dm.metadatadev=/dev/loop6
No terminal 2 execute os seguintes comandos:
cd $HOME/source/Docker
sudo docker-compose up