# O Motor do Servidor

Se você acompanhou a nossa saga na semana passada, já tem uma instância [Oracle Cloud](https://www.oracle.com/br/cloud/) criada e acesso SSH funcionando. Mas, por enquanto, ela é apenas uma caixa vazia. Hoje, vamos instalar o coração da nossa infraestrutura: o Docker.

E temos um desafio extra: como estamos usando a instância **AMD Micro** (gratuita), temos apenas **1GB de memória RAM**. Se tentarmos rodar o n8n e uma API de WhatsApp aqui, o servidor vai travar em 5 minutos.

Vou mostrar como resolvi isso usando um truque antigo de SysAdmin: o **Swap**.

**1\. A Instalação "Raiz" do** **Docker**

Poderíamos usar painéis bonitos, mas eles consomem memória. Em máquinas pequenas, cada megabyte conta. Por isso, fiz a instalação via terminal, que é limpa e eficiente:

Bash

```bash
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
```

Simples assim. Com isso, temos o motor de containers mais poderoso do mundo pronto para rodar.

**2\. O Problema do 1GB de RAM**

Aplicações modernas como o [**Evolution API**](https://doc.evolution-api.com/v1/pt/get-started/introduction) (para WhatsApp) usam navegadores por trás dos panos. Eles "comem" memória. Com apenas 1GB físico, o Linux aciona o *OOM Killer* (assassino de falta de memória) e fecha seus programas do nada.

A solução? Criar uma **Memória Virtual (Swap)** usando o espaço do disco rígido.

**3\. Criando 4GB de "Memória Extra"**

Como a Oracle nos dá 50GB de disco, decidi alocar **4GB** para Swap. Isso funciona como um "pulmão": quando a memória RAM enche, o servidor usa o disco para não travar.

O processo envolve criar um arquivo, definir permissões de segurança e avisar o Linux para usá-lo:

Bash

```bash
sudo fallocate -l 4G /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
```

Também ajustei o *Swappiness* para 10, garantindo que o sistema priorize a RAM rápida e só use o disco em emergências.

**Resultado:** Agora temos um servidor "blindado" contra falta de memória, pronto para receber o [n8n](https://n8n.io/) e o Evolution API sem medo de travamentos.

Na quinta-feira, vou revelar como acesso tudo isso externamente sem abrir nenhuma porta de segurança no firewall.
