11 KiB
11 KiB
Manual de Instalação - Arcádia Suite
Requisitos do Servidor
Hardware Mínimo
- CPU: 2 cores
- RAM: 4GB
- Disco: 40GB SSD
- Rede: 100 Mbps
Hardware Recomendado
- CPU: 4+ cores
- RAM: 8GB+
- Disco: 100GB SSD
- Rede: 1 Gbps
Sistema Operacional
- Ubuntu 22.04 LTS (recomendado)
- Debian 12
- Rocky Linux 9
1. Preparação do Servidor
1.1 Atualizar Sistema
sudo apt update && sudo apt upgrade -y
1.2 Instalar Dependências Básicas
sudo apt install -y curl wget git unzip build-essential
2. Instalar Node.js 20
# Adicionar repositório NodeSource
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
# Instalar Node.js
sudo apt install -y nodejs
# Verificar instalação
node --version # v20.x.x
npm --version # 10.x.x
3. Instalar Python 3.11
# Instalar Python e pip
sudo apt install -y python3.11 python3.11-venv python3-pip
# Criar link simbólico (se necessário)
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1
# Verificar instalação
python3 --version # Python 3.11.x
4. Instalar PostgreSQL 15
# Adicionar repositório oficial
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
# Instalar PostgreSQL
sudo apt install -y postgresql-15
# Iniciar e habilitar serviço
sudo systemctl start postgresql
sudo systemctl enable postgresql
# Criar usuário e banco de dados
sudo -u postgres psql << EOF
CREATE USER arcadia WITH PASSWORD 'SuaSenhaSegura123!';
CREATE DATABASE arcadia_suite OWNER arcadia;
GRANT ALL PRIVILEGES ON DATABASE arcadia_suite TO arcadia;
\q
EOF
5. Instalar Redis (Opcional - Cache/Sessions)
sudo apt install -y redis-server
sudo systemctl start redis-server
sudo systemctl enable redis-server
# Verificar
redis-cli ping # PONG
6. Clonar Projeto
# Criar diretório de aplicação
sudo mkdir -p /opt/arcadia
sudo chown $USER:$USER /opt/arcadia
cd /opt/arcadia
# Clonar repositório
git clone https://github.com/seu-usuario/arcadia-suite.git .
# Ou extrair arquivo ZIP
# unzip arcadia-suite.zip -d /opt/arcadia
7. Configurar Variáveis de Ambiente
7.1 Criar arquivo .env
cd /opt/arcadia
cp .env.example .env
nano .env
7.2 Conteúdo do .env
# Banco de Dados
DATABASE_URL=postgresql://arcadia:SuaSenhaSegura123!@localhost:5432/arcadia_suite
PGHOST=localhost
PGPORT=5432
PGUSER=arcadia
PGPASSWORD=SuaSenhaSegura123!
PGDATABASE=arcadia_suite
# Aplicação
NODE_ENV=production
PORT=5000
SESSION_SECRET=sua-chave-secreta-muito-longa-e-aleatoria-aqui
# OpenAI (para recursos de IA)
OPENAI_API_KEY=sk-sua-chave-openai
# ERPNext (opcional)
ERPNEXT_URL=https://seu-erpnext.com
ERPNEXT_API_KEY=sua-api-key
ERPNEXT_API_SECRET=sua-api-secret
# WhatsApp (opcional)
# Configurado via interface
# Protocolos MCP/A2A
PROTOCOL_API_KEYS=chave1,chave2,chave3
8. Instalar Dependências do Projeto
8.1 Node.js (Frontend + Backend)
cd /opt/arcadia
npm install
8.2 Python (Serviços de IA)
cd /opt/arcadia
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
9. Build da Aplicação
cd /opt/arcadia
# Build do frontend (Vite)
npm run build
# Verificar build
ls -la dist/
10. Executar Migrações do Banco
cd /opt/arcadia
# Gerar migrações (se necessário)
npm run db:generate
# Aplicar migrações
npm run db:push
11. Configurar Serviço Systemd
11.1 Criar serviço principal
sudo nano /etc/systemd/system/arcadia-suite.service
[Unit]
Description=Arcadia Suite - Office Estratégico
After=network.target postgresql.service
[Service]
Type=simple
User=www-data
WorkingDirectory=/opt/arcadia
Environment=NODE_ENV=production
EnvironmentFile=/opt/arcadia/.env
ExecStart=/usr/bin/node dist/index.js
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
11.2 Criar serviço Python (IA/Fiscal)
sudo nano /etc/systemd/system/arcadia-python.service
[Unit]
Description=Arcadia Suite - Python Services
After=network.target
[Service]
Type=simple
User=www-data
WorkingDirectory=/opt/arcadia/python
Environment=PYTHONUNBUFFERED=1
EnvironmentFile=/opt/arcadia/.env
ExecStart=/opt/arcadia/venv/bin/python -m uvicorn main:app --host 0.0.0.0 --port 8001
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
11.3 Ativar serviços
# Ajustar permissões
sudo chown -R www-data:www-data /opt/arcadia
# Recarregar systemd
sudo systemctl daemon-reload
# Habilitar e iniciar serviços
sudo systemctl enable arcadia-suite
sudo systemctl enable arcadia-python
sudo systemctl start arcadia-suite
sudo systemctl start arcadia-python
# Verificar status
sudo systemctl status arcadia-suite
sudo systemctl status arcadia-python
12. Configurar Nginx (Proxy Reverso)
12.1 Instalar Nginx
sudo apt install -y nginx
12.2 Configurar Virtual Host
sudo nano /etc/nginx/sites-available/arcadia
server {
listen 80;
server_name seu-dominio.com.br;
# Redirect HTTP to HTTPS
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name seu-dominio.com.br;
# SSL (usar certbot para gerar)
ssl_certificate /etc/letsencrypt/live/seu-dominio.com.br/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/seu-dominio.com.br/privkey.pem;
# SSL Settings
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers off;
# Logs
access_log /var/log/nginx/arcadia.access.log;
error_log /var/log/nginx/arcadia.error.log;
# Tamanho máximo de upload (para migrações)
client_max_body_size 500M;
# Proxy para aplicação Node.js
location / {
proxy_pass http://127.0.0.1:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
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;
proxy_cache_bypass $http_upgrade;
proxy_read_timeout 300s;
proxy_connect_timeout 75s;
}
# WebSocket para Socket.IO
location /socket.io/ {
proxy_pass http://127.0.0.1:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
# API Python (IA/Fiscal)
location /api/python/ {
proxy_pass http://127.0.0.1:8001/;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
12.3 Ativar configuração
sudo ln -s /etc/nginx/sites-available/arcadia /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
13. Certificado SSL (Let's Encrypt)
# Instalar Certbot
sudo apt install -y certbot python3-certbot-nginx
# Gerar certificado
sudo certbot --nginx -d seu-dominio.com.br
# Renovação automática (já configurada)
sudo certbot renew --dry-run
14. Configurar Firewall
# Instalar UFW
sudo apt install -y ufw
# Configurar regras
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Ativar firewall
sudo ufw enable
sudo ufw status
15. Backup Automático
15.1 Script de backup
sudo nano /opt/arcadia/scripts/backup.sh
#!/bin/bash
BACKUP_DIR="/var/backups/arcadia"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
# Backup do banco
pg_dump -h localhost -U arcadia arcadia_suite | gzip > $BACKUP_DIR/db_$DATE.sql.gz
# Backup dos arquivos de upload
tar -czf $BACKUP_DIR/uploads_$DATE.tar.gz /opt/arcadia/uploads
# Manter últimos 7 dias
find $BACKUP_DIR -type f -mtime +7 -delete
echo "Backup concluído: $DATE"
15.2 Agendar no cron
chmod +x /opt/arcadia/scripts/backup.sh
sudo crontab -e
# Adicionar linha (backup às 3h da manhã)
0 3 * * * /opt/arcadia/scripts/backup.sh >> /var/log/arcadia-backup.log 2>&1
16. Monitoramento
16.1 Logs em tempo real
# Aplicação Node.js
sudo journalctl -u arcadia-suite -f
# Serviço Python
sudo journalctl -u arcadia-python -f
# Nginx
sudo tail -f /var/log/nginx/arcadia.access.log
sudo tail -f /var/log/nginx/arcadia.error.log
16.2 Verificar saúde
# Status dos serviços
sudo systemctl status arcadia-suite
sudo systemctl status arcadia-python
sudo systemctl status postgresql
sudo systemctl status nginx
# Uso de recursos
htop
df -h
free -m
17. Primeiro Acesso
- Acesse:
https://seu-dominio.com.br - Faça login com credenciais iniciais:
- Email:
admin@arcadia.com.br - Senha:
admin123(altere imediatamente!)
- Email:
- Configure seu tenant/empresa
- Configure integrações (ERPNext, WhatsApp, OpenAI)
18. Comandos Úteis
# Reiniciar aplicação
sudo systemctl restart arcadia-suite
# Ver logs
sudo journalctl -u arcadia-suite -n 100
# Atualizar código
cd /opt/arcadia
git pull origin main
npm install
npm run build
sudo systemctl restart arcadia-suite
# Executar migrações
npm run db:push
# Limpar cache
redis-cli FLUSHALL
19. Solução de Problemas
Aplicação não inicia
# Verificar logs
sudo journalctl -u arcadia-suite -n 50
# Verificar permissões
ls -la /opt/arcadia
# Testar manualmente
cd /opt/arcadia
node dist/index.js
Erro de conexão com banco
# Verificar PostgreSQL
sudo systemctl status postgresql
psql -h localhost -U arcadia -d arcadia_suite
# Verificar .env
cat /opt/arcadia/.env | grep DATABASE
WebSocket não conecta
# Verificar configuração Nginx
sudo nginx -t
# Verificar porta
netstat -tlpn | grep 5000
20. Estrutura de Módulos Instalados
| Categoria | Módulos |
|---|---|
| Inteligência | Agent, Scientist, Knowledge, Automações, MCP, A2A |
| Comunicação | XOS Inbox, Chat, Comunidades, XOS Central, NPS |
| Negócios | CRM, Compass, Produção, Suporte, Valuation, Fisco, Contábil, People, ERP, Financeiro, Retail, Plus, Marketplace |
| Analytics | Insights, Central APIs |
| Desenvolvimento | IDE, Canvas, API Hub, API Tester, DocType/Page Builder, Engineering |
| Educação | LMS |
| Operações | Field Ops, Quality ISO, Assistência Técnica, Suppliers |
| Administração | Admin, Home, Migration XOS, Super Admin |
Total: 40+ módulos
Suporte
- Documentação:
/docs/ - Email: suporte@arcadia.com.br
- API Docs:
https://seu-dominio.com.br/api-hub
Arcádia Suite - O Office Estratégico da Empresa Moderna