Skip to content

Acesso e Configuração Ambientes

Matheus Miranda edited this page Jan 29, 2019 · 3 revisions

Configuração dos ambientes

Ambiente de homologação(BETA)

Os serviços do ambiente de homologação estão todos rodando em um droplet na Digital Ocean, na conta do LAPPIS.

Tais homologação: https://tais.lappis.rocks/.

RocketChat homologação: https://chat.tais.lappis.rocks/.

Elastic Search homologação: https://elasticsearch.tais.lappis.rocks/.

Kibana homologação: https://kibana.tais.lappis.rocks/app/kibana.

Configuração do ambiente de Homologação

Para subir os serviçoes no ambiente de Homologação, utilize docker-compose abaixo:

version: '2'

services:
  # ============================= Rocketchat ==================================
  rocketchat:
    image: rocket.chat:0.69.2
    restart: unless-stopped
    environment:
      - PORT=3000
      - ROOT_URL=https://chat.tais.lappis.rocks
      - MONGO_URL=mongodb://mongo:27017/rocketchat
      - ADMIN_USERNAME=admin
      - ADMIN_PASS=lappisunb
    ports:
      - 3000:3000
    depends_on:
      - mongo

  mongo:
    image: mongo:3.2
    restart: unless-stopped
    volumes:
      - ./data/db:/data/db
    command: mongod --smallfiles --oplogSize 128



  # ================================= Bot =====================================
  bot:
    build:
      context: .
      dockerfile: ./docker/bot.Dockerfile
    restart: unless-stopped
    environment:
      - TRAINING_EPOCHS=10
      - ROCKETCHAT_URL=rocketchat:3000
      - MAX_TYPING_TIME=8
      - MIN_TYPING_TIME=1
      - WORDS_PER_SECOND_TYPING=10
      - ROCKETCHAT_ADMIN_USERNAME=<ADMIN_USERNAME>
      - ROCKETCHAT_ADMIN_PASSWORD=<ADMIN_PASSWORD>
      - ROCKETCHAT_BOT_USERNAME=<BOT_USERNAME>
      - ROCKETCHAT_BOT_PASSWORD=<BOT_PASSWORD>

      # Should be set to 'production' or 'beta' or 'dev'
      - ENVIRONMENT_NAME=beta
      # Last commit hash using this command: git rev-parse HEAD
      - BOT_VERSION=ea2e84dbd61c523f1a7eb67994bcf17c4f396895

      # Analytics config
      - ENABLE_ANALYTICS=True
      - ELASTICSEARCH_URL=elasticsearch:9200
    ports:
      - 5005:5005
    volumes:
      - ./bot:/bot
      - ./scripts:/scripts
    depends_on:
      - rocketchat

  # =================================== Web ===================================
  web:
    build:
      context: .
      dockerfile: ./docker/web.Dockerfile
    restart: unless-stopped
    environment:
      - PORT=8000
      - ROCKETCHAT_URL=https://chat.tais.lappis.rocks
      - ALLOWED_HOSTS=tais.lappis.rocks
      - PREFIX_URL=
    volumes:
      - ./web:/web
    ports:
      - 8000:8000
    depends_on:
      - webdb

  webdb:
    image: postgres:10.5
    restart: unless-stopped
    volumes:
      - ./web/postgres-data:/var/lib/postgresql/data



  # =============================== Analytics =================================
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.4.2
    restart: unless-stopped
    ports:
      - 9200:9200
      - 9300:9300
    environment:
      - discovery.type=single-node
    volumes:
      - esdata:/usr/share/elasticsearch/data

  kibana:
    image: docker.elastic.co/kibana/kibana:6.4.2
    restart: unless-stopped
    ports:
      - 5601:5601
    environment:
      - SERVER_PORT=5601
      - ELASTICSEARCH_URL=http://elasticsearch:9200
    depends_on:
      - elasticsearch

volumes:
  esdata:
    driver: local

Ambiente de produção

Os serviços do ambiente de produção estão sendo executados em uma máquina virtual na infraestrutura do MINC.

Tais Produção: A Tais do ambiente de produção está disponível via chat no portal da Lei Rouanet: http://rouanet.cultura.gov.br/rouanet-bot-teste/.

RocketChat Produção: https://lappis.cultura.gov.br/home.

Elastic Search Produção: Atualmente as mensagens das interações no ambiente de produção estão sendo enviados para o Elastic Search de Homologação.

Kibana Produção: Atualmente as visualizações das métricas do ambiente de produção é feita no Kibana de Produção.

Configuração do ambiente de produção

Neste ambiente não é preciso subir os serviços web e webdb, uma vez que o iframe será carregado no html da página do MINC.

Na configuração do serviço do bot é preciso utilizar credenciais para logar no Elastic Search, uma vez que esse será acessado na máquina de Homologação, através de seu domínio.

Para tal utilize a seguinte configuração, adicionando as credenciais corretas:

bot:
  build:
    context: .
    dockerfile: ./docker/bot.Dockerfile
  restart: unless-stopped
  environment:
    - TRAINING_EPOCHS=10
    - ROCKETCHAT_URL=rocketchat:3000
    - MAX_TYPING_TIME=8
    - MIN_TYPING_TIME=1
    - WORDS_PER_SECOND_TYPING=10
    - ROCKETCHAT_ADMIN_USERNAME=<ADMIN_USERNAME>
    - ROCKETCHAT_ADMIN_PASSWORD=<ADMIN_PASSWORD>
    - ROCKETCHAT_BOT_USERNAME=<BOT_USERNAME>
    - ROCKETCHAT_BOT_PASSWORD=<BOT_PASSWORD>

    # Should be set to 'production' or 'beta' or 'dev'
    - ENVIRONMENT_NAME=production
    # Last commit hash using this command: git rev-parse HEAD
    - BOT_VERSION=30fc5f9a3351eba98e4e6535cfe7c378bf393333

    # Analytics config
    - ENABLE_ANALYTICS=True
    - ELASTICSEARCH_URL=elasticsearch.tais.lappis.rocks

    # HTTP login on elasticsearch
    - ELASTICSEARCH_USER=<ELASTICSEARCH_USER>
    - ELASTICSEARCH_PASSWORD=<ELASTICSEARCH_PASSWORD>
    - ELASTICSEARCH_HTTP_SCHEME=https
    - ELASTICSEARCH_PORT=443
  ports:
    - 5005:5005
Clone this wiki locally