diff --git a/README.md b/README.md index 2fa4d4a..c45edce 100644 --- a/README.md +++ b/README.md @@ -333,32 +333,182 @@ Once this is done, the breadcrumbs of the 'Create discipline' page is as follows [Home]() / [Courses]() / [Course Name]() / Create Subject +## 1. Docker +O Docker possui um Daemon para gerenciamento de conteiners. Sua instalação possui uma documentação oficial e pode ser conferida nas páginas: +[Instalando Docker no Windows](https://docs.docker.com/docker-for-windows/) -## Docker image +[Instalando Docker no Mac OSX](https://docs.docker.com/docker-for-mac/) -Já tendo o docker instalado para executar o amadeus é preciso executar o seguinte comando: +[Instalando Docker no Ubuntu](https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/) +## 2. Importando conteiner Docker do Amadeus LMS + +Com o Docker instalado, é possível importar uma imagem pré-configurada do Amadeus LMS comos seguintes comandos: + +Baixe a imagem diretamente do repositório do Amadeus LMS: +``` bash +sudo docker pull filipecmedeiros/amadeus:1.0 +``` +Execute o conteiner: ``` bash - sudo docker run -itp 9000:9000 jailsondias/amadeus:0.1 +sudo docker run -itp 8000:80 filipecmedeiros/amadeus:1.0 ``` -Depois que ja estiver no ambiente do docker execute os seguintes comandos: +Inicie o banco de dados Postgres e o servidor web Nginx: +``` bash +/etc/init.d/postgresql start +/etc/init.d/nginx start +``` + +Obs.: Espere alguns minutos até o servidor iniciar. +Execute o Amadeus: ``` bash - /etc/init.d/postgresql start - /etc/init.d/nginx start - cd amadeuslms +cd /home/amadeuslms/ +gunicorn amadeus.wsgi:application ``` -Espere mais ou menos um minuto para que o PostgreSQL inicie e depois disso execute o seguinte comando: +Para sair do docker e continuar com o Amadeus LMS executando no container só é preciso apertar crtl + p + q. + +## 3. Exportando conteiner Docker com Amadeus + +Para gerar sua própria imagem do Amadeus, disponibilizamos um exemplo utilizando Ubuntu 16.04 LTS + Postgres + Nginx: + +### 3.1 Preparando o conteiner +Faça o download de uma imagem do ubuntu: +``` bash +sudo docker pull ubuntu:16.04 +``` +Execute o conteiner a partir da imagem do ubuntu que acabou de ser baixada: +``` bash +sudo docker run -itp 8000:80 ubuntu:16.04 +``` +Antes de tudo, é necessário fazer um update para poder fazer o download de qualquer software: +``` bash +apt-get update +``` +A linguagem padrão utilizada é ASC II, faça a migração para UTF-8: +``` bash +export LANG=C.UTF-8 +``` +Após estes passos, o conteiner está preparado para fazer o download dos softwares e dependências +necessárias: +``` bash +apt-get install nano gettext nginx python3 python3-pip git postgresql postgresql-contrib libpq-dev +python3-dev +``` +Inicie o banco de dados Postgres: +``` bash +/etc/init.d/postgresql start +``` +Inicie o servidor web Nginx: ``` bash - gunicorn amadeus.wsgi:application +/etc/init.d/nginx start ``` -Agora só precisa abrir o navegador com localhost:9000 que vai abrir a página inicial do amadeus, caso apareça uma página de erro aperte crtl + c no terminal do docker e execute novamente o gunicorn. +### 3.2 Preparando o banco de dados Postgres -Caso queira sair do docker e continuar com o amadeus executando no container só é preciso apertar crtl + p + q. +Faça login como usuário admin do Postgres: +``` bash +su postgres +``` +Crie um banco de dados: +``` bash +createdb amadeus +``` +Para executar comandos SQL, utilize o comando: +```bash +psql +``` +Então execute o comando para criar um usuário do Amadeus no banco de dados: +``` sql +CREATE ROLE amadeus_admin WITH LOGIN SUPERUSER PASSWORD 'amadeus'; +``` +Para sair, execute: +``` sql +/q +``` +E em seguida, para sair do usuário Postgres: +``` bash +exit +``` +### 3.3 Preparando o Amadeus +Faça o download do Amadeus a partir do repositório git: +``` bash +git clone https://github.com/amadeusproject/amadeuslms.git +``` +Crie um arquivo chamado local_settings.py no diretório /amadeuslms/amadeus/ : +```bash +nano /amadeuslms/amadeus/local_settings.py +``` +E adicione os valores do banco de dados que acabou de ser criado: +``` python +import os +DEBUG = True +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.postgresql', + 'NAME': 'amadeus', + 'USER': 'amadeus_admin', + 'PASSWORD': 'amadeus', + 'HOST': '127.0.0.1', + 'PORT': '5432', + } +} + ``` +Aplique as migrações do Amadeus ao banco de dados: +```bash +cd amadeuslms/ +python3 manage.py migrate +``` +Ative as configurações de tradução do Amadeus: +```bash +python3 manage.py compilemessages +``` +Crie o usuário Admin do Amadeus: +``` bash +python3 manage.py createsuperuser +``` +### 3.4 Preparando o Nginx +Para fazer a configuração do Nginx, edite o arquivo default localizado em /etc/nginx/sitesavaliables e adicione as configurações: +``` bash +nano /etc/nginx/sites-avaliables/default +``` +``` bash +upstream backend { + server localhost:8000; +} +server { + listen 80 default_server; + listen 443 ssl; + server_name _; + + root /home/amadeuslms; + index index.html; + charset utf-8; + location / { + try_files $uri @proxy_to_app; + } + location /uploads { + autoindex on; + alias /home/amadeuslms/amadeus/uploads/; + } + location @proxy_to_app { + proxy_pass http://backend; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $http_host; + } +} +``` +Para executar o Amadeus LMS: +``` bash +cd /home/amadeuslms/ +gunicorn amadeus.wsgi:application +``` +Para sair do docker e continuar com o Amadeus LMS executando no container só é preciso apertar crtl + p + q. ## Link's úteis [Git - Introdução e comandos básicos(PT-BR)](https://github.com/fernandomayer/git-rautu/blob/master/0_configuracao-inicial.md) -- libgit2 0.21.2