Sobre o projeto: O Odysseus é uma plataforma avançada de Inteligência Artificial (IA) de código aberto. O principal objetivo da ferramenta é fornecer uma interface de chat e orquestração de Modelos de Linguagem (LLMs) totalmente auto-hospedada (self-hosted), permitindo que desenvolvedores e empresas mantenham total privacidade, controle e soberania sobre seus dados e prompts, sem depender obrigatoriamente de infraestruturas de terceiros. A ideia é utilizar LLMs local, mas pode integrar com Open Router, que inclui diversos LLMs.
Este guia descreve o procedimento técnico para configurar o Odysseus em um VPS Linux através do clone do repositório, build local com Docker Compose, isolamento de rede e criptografia SSL.
1. Atualizar o sistema e instalar as dependências
Acesse o seu servidor via SSH e execute os comandos abaixo para garantir que o sistema operacional esteja atualizado e com o Git, Docker e Docker Compose instalados:
sudo apt update && sudo apt upgrade -y
sudo apt install git docker.io docker-compose-v2 -y
sudo systemctl enable --now docker
2. Configurar o Firewall (UFW)
Proteja a rede permitindo conexões apenas nas portas estritamente necessárias para o funcionamento seguro do serviço:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
3. Clonar o repositório e configurar o ambiente (.env)
Como a imagem não está disponível centralizada no Docker Hub, faremos o download do código-fonte e faremos o build local do container. Clone o repositório, acesse o diretório clonado e renomeia o .env.example para .env de configuração:
git clone https://github.com/pewdiepie-archdaemon/odysseus.git cd odysseus cp .env.example .env
Linhas essenciais no arquivo .env
Abra o arquivo .env com nano .env e certifique-se de configurar e validar estas variáveis críticas:
Chave secreta de criptografia da aplicação (MUDE para uma string longa e segura)
APP_SECRET=MUDE_PARA_UMA_CHAVE_ALTA_E_SEGURA_AQUI
Colocar o seu passoword de admin, no lugar de "-"
ODYSSEUS_ADMIN_PASSWORD=${ODYSSEUS_ADMIN_PASSWORD:-}
Nota: Certifique-se de que a variável de porta está mapeada explicitamente para responder apenas internamente (127.0.0.1:7000) para evitar que o container fique exposto diretamente à internet sem a proteção do proxy reverso.
4. Construir e iniciar os containers
Com o ambiente configurado, execute o comando abaixo para subir e iniciar a aplicação em segundo plano (modo daemon):
docker compose up -d --build
5. Configurar o Nginx como Proxy Reverso
Instale o Nginx para receber as requisições HTTP/HTTPS da internet e repassá-las internamente para a porta do Docker:
sudo apt install nginx -y
Crie o arquivo de configuração para o seu domínio em /etc/nginx/sites-available/odysseus com o seguinte conteúdo:
server {
listen 80;
server_name dominio.com;
location / {
proxy_pass http://127.0.0.1:7000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Ative a configuração criando o link simbólico e reinicie o servidor web:
sudo ln -s /etc/nginx/sites-available/odysseus /etc/nginx/sites-enabled/ sudo systemctl restart nginx
6. Instalar o certificado SSL (HTTPS)
Criptografe o tráfego de dados e garanta a segurança dos prompts utilizando um certificado digital gratuito da Let's Encrypt através do Certbot:
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d seu-dominio.com
7. Definir permissões estritas no diretório
Por fim, bloqueie o acesso direto às pastas de dados geradas no host para outros utilizadores do sistema operacional:
chmod 700 ./odysseus_data
Feito!
Nenhum comentário:
Postar um comentário