Pular para o conteúdo principal

Guia de Setup - Servidor de Ferramentas

Pré-requisitos

Infraestrutura AWS

  • ✅ VPC BITIO configurada
  • ✅ Subnet pública criada
  • ✅ Security Groups configurados
  • ✅ Chave SSH configurada
  • ✅ AWS CLI configurado com profile bitio

Acesso Local

  • SSH client instalado
  • Acesso à AWS Console (opcional)

🚀 Deploy Automático via Terraform

1. Configuração do Terraform

# Navegar para diretório de infraestrutura
cd apps/infrastructure

# Configurar profile AWS
export AWS_PROFILE=bitio

# Verificar configuração
aws sts get-caller-identity

2. Variáveis de Configuração

Edite terraform.tfvars para habilitar o servidor:

# Ferramentas - Tools Server
enable_tools_server = true # Habilitar servidor
tools_instance_type = "t3.micro" # Tipo da instância
tools_data_volume_size = 15 # Volume de dados (GB)

3. Deploy da Infraestrutura

# Inicializar Terraform (se necessário)
terraform init

# Planejar mudanças
terraform plan

# Aplicar infraestrutura
terraform apply

Saída esperada:

Apply complete! Resources: 8 added, 0 changed, 0 destroyed.

Outputs:

tools_access_info = {
"forgejo_web_url" = "http://3.208.54.208"
"pritunl_web_url" = "https://3.208.54.208:9443"
"ssh_direct" = "ssh ubuntu@3.208.54.208"
"wireguard_endpoint" = "3.208.54.208:51820"
}

🔧 Configuração Manual dos Serviços

1. Conexão SSH

# Conectar ao servidor
ssh ubuntu@3.208.54.208

# Verificar status da instalação
cat /mnt/forgejo_data/installation-status.txt

2. Verificar Serviços

# Status dos containers Docker
docker ps

# Logs dos serviços
docker logs forgejo -f
docker logs pritunl -f

📋 Pós-Instalação

1. Configurar Forgejo

  1. Acesse: http://3.208.54.208
  2. Setup inicial:
    • Database Type: PostgreSQL
    • Host: forgejo-db:5432
    • Database: forgejo
    • Username: forgejo
    • Password: forgejo123
  3. Configurações gerais:
    • Site Title: "BITIO Git Server"
    • Repository Root Path: /data/git/repositories
    • Git LFS Root Path: /data/lfs
  4. Conta de administrador:
    • Criar usuário admin
    • Email corporativo
    • Senha forte

2. Configurar Pritunl VPN

  1. Acesse: https://3.208.54.208:9443
  2. Setup key: 45270ac66ac440d68e1a6fd72ce5205b
  3. Initial setup:
    • Criar usuário administrador
    • Definir senha do admin
  4. Configurar organização:
    • Nome: "BITIO"
    • Criar servidores VPN conforme necessário

3. Configurar SSL (Opcional)

# Instalar Certbot para Let's Encrypt
sudo apt install certbot python3-certbot-nginx

# Obter certificado SSL
sudo certbot --nginx -d seudominio.com

# Certificado será renovado automaticamente

🛡️ Configurações de Segurança

Firewall (UFW)

# Status do firewall
sudo ufw status

# Regras configuradas:
# 22/tcp - SSH (restrito)
# 80/tcp - HTTP (Forgejo)
# 443/tcp - HTTPS
# 2222/tcp - SSH Git (Forgejo)
# 9443/tcp - Pritunl Admin
# 51820/udp - WireGuard VPN

Backup de Dados

# Volume de dados persistente
df -h /mnt/forgejo_data

# Estrutura de diretórios
/mnt/forgejo_data/
├── forgejo/ # Dados do Forgejo
├── pritunl/ # Configurações VPN
├── backups/ # Backups locais
└── installation-status.txt

🔍 Verificação de Setup

Teste de Conectividade

# Teste HTTP (Forgejo)
curl -I http://3.208.54.208

# Teste SSH Git
ssh -T git@3.208.54.208 -p 2222

# Teste HTTPS (Pritunl)
curl -k -I https://3.208.54.208:9443

Logs de Sistema

# Logs de inicialização
tail -f /var/log/bitio-tools-init.log

# Logs do Docker
docker logs forgejo --tail 50
docker logs pritunl --tail 50

# Logs do Nginx
sudo tail -f /var/log/nginx/access.log
sudo tail -f /var/log/nginx/error.log

⚠️ Troubleshooting

SSH Connection Refused

  • Causa: Reboot automático durante inicialização
  • Solução: Aguardar 3-5 minutos após deploy

Docker Containers Not Starting

# Verificar status
docker ps -a

# Restart containers
cd /mnt/forgejo_data/forgejo && docker compose restart
cd /mnt/forgejo_data/pritunl && docker compose restart

Disk Space Issues

# Verificar espaço
df -h /mnt/forgejo_data

# Limpeza de logs Docker
docker system prune -f

🔗 Próximos Passos

  1. Configuração detalhada do Forgejo
  2. Configuração detalhada do Pritunl
  3. Guia de administração
  4. Setup de backups automáticos