Skip to content

🦈 Docker Standalone

KillovSky edited this page Oct 10, 2024 · 1 revision

Guia Simples de Instalação da Iris em Docker Standalone 🦈

Antes de tudo, deixamos claro que recomendamos a opção de instalação em docker swarm.

📚 Sumário


📥 Instalação do Docker no Ubuntu

Para executar contêineres Docker, precisamos primeiro instalar o Docker Engine em nosso sistema Ubuntu.

🛠️ Pré-requisitos

  • Sistema Operacional: Ubuntu 24.04 (LTS), 22.04 (LTS) ou 20.04 (LTS)
  • Arquitetura: 64 bits (x86_64 / amd64)
  • Permissões: Acesso de superusuário (sudo)

💾 Instalando o Docker

  1. Atualize o índice de pacotes:

    sudo apt update
  2. Instale os pacotes necessários:

    sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release
  3. Adicione a chave GPG oficial do Docker:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  4. Adicione o repositório do Docker às fontes do APT:

    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
      https://download.docker.com/linux/ubuntu \
      $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  5. Atualize o índice de pacotes novamente:

    sudo apt update
  6. Instale o Docker Engine:

    sudo apt install docker-ce docker-ce-cli containerd.io

✅ Verificando a instalação

Para verificar se o Docker foi instalado corretamente, execute:

sudo docker run hello-world

Se a instalação foi bem-sucedida, você verá uma mensagem de boas-vindas do Docker.


📦 Implantando a Stack da Iris

Agora que o Docker está instalado, podemos implantar a stack da Iris usando o Docker Compose.

📝 Conteúdo do docker-compose.yml

Obtenha a versão mais recente aqui, para seu docker swarm, ou aqui, para seu docker standalone

A stack da Iris é definida como um arquivo docker-compose.yml:

version: "3.8"

services:
  iris:
    image: hypegg/iris-project:v1.1.6
    volumes:
      - iris_backup:/Iris/lib/Backups # Volume para backups
      - iris_sessions:/Iris/lib/Sessions # Volume para sessões
      - iris_databases:/Iris/lib/Databases # Volume para bancos de dados
      # - iris_commands:/Iris/lib/Commands    # Volume para comandos (Opcional)
      # - iris_Dialogues:/Iris/lib/Dialogues  # Volume para diálogos (Opcional)
    networks:
      - iris_network # Nome da rede
    ports:
      - "3000:3000" # Mapeamento da porta 3000

volumes:
  iris_backup:
  iris_sessions:
  iris_databases:
  # iris_commands:
  # iris_Dialogues:

networks:
  iris_network: # Define uma rede que será criada automaticamente

🚀 Passos para Implantação

  1. Instale o Docker Compose Plugin (se ainda não estiver instalado):

    sudo apt install docker-compose-plugin
  2. Crie um diretório para a aplicação:

    mkdir iris-app
    cd iris-app
  3. Crie o arquivo docker-compose.yml:

    Crie o arquivo usando um editor de texto, como o nano:

    nano docker-compose.yml

    Cole o conteúdo fornecido anteriormente e salve o arquivo (no nano, use Ctrl+X, depois Y, e Enter).

  4. Inicie a aplicação usando o Docker Compose:

    sudo docker compose up -d

    Este comando irá:

    • Baixar a imagem hypegg/iris-project:v1.1.6 se ainda não estiver presente.
    • Criar os volumes especificados para persistência de dados.
    • Criar a rede iris_network.
    • Iniciar o contêiner da aplicação Iris em segundo plano (-d).
  5. Verifique se o contêiner está em execução:

    sudo docker ps

    Você deverá ver um contêiner com o nome iris_iris ou similar em execução.

  6. Acessando o log e obtendo o QRCode

    • Primeiro, liste todos os contêineres em execução para encontrar o nome ou ID do contêiner iris:
    sudo docker ps
    • A saída será algo como:
    CONTAINER ID   IMAGE                          COMMAND                  CREATED          STATUS          PORTS                    NAMES
    a1b2c3d4e5f6   hypegg/iris-project:v1.1.6     "start-command"          X minutes ago    Up X minutes    0.0.0.0:3000->3000/tcp   iris_iris
    • Anote o CONTAINER ID do contêiner da iris. No exemplo acima, o nome é a1b2c3d4e5f6.
    • Use o comando docker logs para visualizar os logs:
    sudo docker logs -f a1b2c3d4e5f6
    • Substitua a1b2c3d4e5f6 pelo seu CONTAINER ID.
  7. Teste a aplicação web:

    Abra um navegador web e acesse:

    http://localhost:3000
    

    Substitua localhost pelo endereço IP do seu servidor, se necessário.


📚 Dicas Adicionais

  • Persistência de Dados:

    • Os volumes definidos garantem que os dados importantes sejam mantidos mesmo que o contêiner seja recriado.

    • Você pode verificar os volumes criados com:

      sudo docker volume ls
  • Gerenciamento de Redes:

    • A rede iris_network permite que a aplicação se comunique com outros serviços Docker que também estejam conectados a essa rede.

    • Para inspecionar a rede:

      sudo docker network inspect iris_network
  • Permissões de Usuário:

    • Se quiser executar comandos Docker sem sudo, adicione seu usuário ao grupo docker:

      sudo usermod -aG docker $USER

      Faça logout e login novamente para que as mudanças tenham efeito.

  • Segurança:

    • Certifique-se de que a porta 3000 está protegida adequadamente se o servidor estiver acessível pela internet.
    • Considere configurar um firewall ou proxy reverso para adicionar camadas extras de segurança.
  • Personalização:

    • Você pode descomentar as linhas referentes a iris_commands e iris_Dialogues no arquivo docker-compose.yml se precisar desses recursos adicionais.

    • Lembre-se de criar os volumes correspondentes:

      volumes:
        iris_backup:
        iris_sessions:
        iris_databases:
        iris_commands:
        iris_Dialogues:

Agora você tem a aplicação Iris instalada e em execução em um ambiente Docker standalone. Este guia simples permite que você rapidamente implante e gerencie a aplicação sem a complexidade adicional do Docker Swarm.

Nota: Sempre consulte a documentação oficial da aplicação para obter informações detalhadas sobre configuração e uso.

Copyright: Tutorial construído por @hypegg em contruição para a commit #621.