Como funciona

Tudo que você precisa saber para usar seu servidor: o que você recebe, a regra do IP, os primeiros passos, um exemplo completo de loja própria com Supabase, pagamento e limites.

1. O que você recebe

  • Um Linux completo (Ubuntu 24.04) só seu, com usuário próprio e sudo sem senha. Instale o que quiser com apt: Node.js, Python, PHP, Go, Docker, bancos de dados, bots.
  • Um IP público próprio em Bangkok, com todas as portas TCP e UDP abertas para o seu servidor. Nada de porta compartilhada ou proxy no caminho: o visitante conecta direto e seu servidor vê o IP real dele.
  • Recursos fixos do plano: vCPU, memória e disco reservados para você, sem disputa com outros clientes.
  • DNS no painel e na API: você adiciona seu domínio, recebe os nameservers e aponta tudo com um clique, inclusive registros de e-mail e verificações (MX, TXT, CNAME, CAA) e endereços de serviços externos (A, AAAA). Dá para importar a zona inteira de uma vez e automatizar tudo pela API.
  • Acesso só por chave SSH. Não existe senha. A chave privada chega no e-mail de entrega e pode ser reenviada pelo painel.

Como a plataforma é montada: seu servidor roda numa máquina que nunca fica exposta na internet. O que fica exposto é só o IP público (a "face"), uma ponta descartável que repassa o tráfego até o seu servidor por um túnel criptografado. Se a face cair, outra assume sozinha em cerca de dois minutos.

2. O IP e o domínio: a regra mais importante

O IP do seu servidor pode mudar a qualquer momento, sem aviso. Ele pertence à face, que é trocada automaticamente quando apresenta problema. Por isso:

  • Aponte seu domínio pelo painel. O registro "meu servidor" é atualizado sozinho em até 60 segundos quando o IP muda. Seu site continua no ar e você nem percebe.
  • Nunca cadastre o IP direto no seu registrador, em outro DNS, em um webhook ou em uma lista de IPs permitidos. Quando a face trocar, isso quebra.
  • Para serviços externos que precisam de um endereço (webhooks de pagamento, APIs, monitoramento), use sempre o seu domínio, nunca o IP.

Como apontar o domínio

  1. No painel, em Domínios, adicione o domínio (por exemplo minhaloja.com).
  2. Copie os dois nameservers mostrados e cadastre no seu registrador (Registro.br, GoDaddy, Namecheap, Hostinger...), substituindo os que estão lá.
  3. Aguarde a ativação (de minutos a algumas horas). Você recebe um e-mail quando concluir.
  4. Em Domínios › seu domínio, crie os registros "meu servidor" para a raiz (@) e para www. Pronto: eles seguem o IP do seu servidor para sempre.

Tem mais de um servidor na conta? Cada nome fica preso ao servidor que você escolher na hora de apontar, e segue só o IP dele. Dê um apelido a cada servidor no painel (por exemplo "loja" e "blog") para não confundir.

Quer e-mail no domínio (Google Workspace, Zoho, Proton)? Crie os registros MX e TXT que o provedor pedir na mesma tela. Verificações de domínio (TXT) e CNAMEs também vão por ali.

3. Primeiros passos

Salvar a chave e entrar

O e-mail "Seu servidor está pronto" traz o IP, o usuário e a chave privada. No seu computador (Linux, macOS ou Windows com PowerShell):

mkdir -p ~/.ssh
nano ~/.ssh/eurochocopie        # cole a chave inteira, da linha BEGIN até a END, e salve
chmod 600 ~/.ssh/eurochocopie
ssh -i ~/.ssh/eurochocopie SEU_USUARIO@SEU_IP

Troque SEU_USUARIO e SEU_IP pelos valores do e-mail (também aparecem no painel). Na primeira conexão o SSH pergunta se confia no servidor; responda yes.

Atualizar o sistema

sudo apt update && sudo apt upgrade -y

Fechar as portas que você não usa (recomendado)

Todas as portas chegam ao seu servidor. Deixe abertas só as que você usa. Libere o SSH antes de ligar o firewall:

sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp
sudo ufw enable

Guarde a chave com cuidado

Quem tiver a chave entra no servidor. Se perder, use Reenviar acesso por e-mail no painel; se vazar, gere um novo par de chaves no servidor e substitua o conteúdo de ~/.ssh/authorized_keys.

4. Exemplo completo: sua loja com código próprio e Supabase

Cenário: você tem um e-commerce escrito por você (Node.js aqui, mas vale para Python, PHP ou Go), quer o banco de dados no Supabase e o site em https://loja.seudominio.com com HTTPS automático. O servidor roda a aplicação; o Supabase guarda os dados, usuários e arquivos.

4.1 Banco no Supabase

  1. Crie um projeto no Supabase (a região Singapura é a mais próxima de Bangkok).
  2. Em Connect, copie a string de conexão do Transaction pooler (porta 6543) para a aplicação. Ela tem o formato postgresql://postgres.SEUPROJETO:SENHA@aws-0-ap-southeast-1.pooler.supabase.com:6543/postgres.
  3. Se usar o SDK do Supabase no servidor, copie também a URL do projeto e a chave service_role (nunca a coloque no código do navegador).
  4. Não ative restrição de IP no Supabase (Network restrictions). O IP do seu servidor pode mudar e a loja perderia o banco. Proteja a conexão com a senha forte e TLS, que já vêm por padrão.

4.2 Preparar o servidor

Node.js 22 e Caddy (servidor web com HTTPS automático):

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs caddy git
node -v

4.3 Colocar o código e as variáveis

sudo useradd --system --create-home --home-dir /opt/loja --shell /usr/sbin/nologin loja
sudo git clone https://github.com/voce/sua-loja.git /opt/loja/app
cd /opt/loja/app
sudo npm ci --omit=dev
sudo tee /opt/loja/.env >/dev/null <<'FIM'
PORT=3000
DATABASE_URL=postgresql://postgres.SEUPROJETO:SENHA@aws-0-ap-southeast-1.pooler.supabase.com:6543/postgres
SUPABASE_URL=https://SEUPROJETO.supabase.co
SUPABASE_SERVICE_ROLE_KEY=cole-aqui
FIM
sudo chown -R loja:loja /opt/loja
sudo chmod 600 /opt/loja/.env

A aplicação deve escutar só em 127.0.0.1:3000. Quem fala com a internet é o Caddy, no passo 4.5.

4.4 Rodar como serviço

Assim a loja sobe sozinha depois de reiniciar e volta se cair:

sudo tee /etc/systemd/system/loja.service >/dev/null <<'FIM'
[Unit]
Description=Minha loja
After=network-online.target
Wants=network-online.target

[Service]
User=loja
WorkingDirectory=/opt/loja/app
EnvironmentFile=/opt/loja/.env
ExecStart=/usr/bin/node server.js
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target
FIM
sudo systemctl daemon-reload
sudo systemctl enable --now loja
sudo systemctl status loja --no-pager
sudo journalctl -u loja -f

Troque server.js pelo arquivo de entrada do seu projeto (ou npm start via ExecStart=/usr/bin/npm start).

4.5 Domínio e HTTPS

  1. Adicione seudominio.com no painel e troque os nameservers no registrador (seção 2).
  2. Quando o domínio ficar ativo, crie o registro "meu servidor" com o nome loja. Em até um minuto loja.seudominio.com aponta para o seu servidor.
  3. Configure o Caddy:
sudo tee /etc/caddy/Caddyfile >/dev/null <<'FIM'
loja.seudominio.com {
	encode zstd gzip
	reverse_proxy 127.0.0.1:3000
}
FIM
sudo systemctl reload caddy

O Caddy emite o certificado na Let's Encrypt sozinho e renova para sempre. Em alguns segundos https://loja.seudominio.com está no ar. Quando o IP da face mudar, o DNS acompanha e o certificado continua válido, porque ele é do domínio, não do IP.

4.6 Pagamentos e webhooks da sua loja

Gateways (Stripe, Mercado Pago, PagSeguro, NOWPayments...) chamam a sua loja por uma URL. Cadastre sempre https://loja.seudominio.com/webhook/..., nunca o IP. Se o gateway oferecer "lista de IPs permitidos" do seu lado, não use.

4.7 Prefere Docker?

Funciona normalmente. Mantenha a porta do contêiner só no loopback e deixe o Caddy na frente:

sudo apt install -y docker.io docker-compose-v2
# no docker-compose.yml: ports: ["127.0.0.1:3000:3000"]
sudo docker compose up -d

4.8 Backup

O banco está no Supabase, que faz backup diário nos planos pagos. Arquivos enviados pelos clientes ficam melhor no Storage do Supabase ou num S3/Backblaze do que no disco do servidor. O que estiver só no servidor é sua responsabilidade: um cron com rclone para um bucket resolve.

5. Pagamento, renovação e prazos

  • Pagamento em criptomoeda: ao confirmar o pedido você recebe um link de pagamento (Bitcoin, USDT, Monero, Ethereum, Litecoin e dezenas de outras; o valor em dólar é convertido na hora). A confirmação é automática assim que a rede confirma. Um pedido não pago expira em 7 dias.
  • Período: cada pagamento vale 30 dias. Renovações se somam ao período atual, então pode renovar antes de vencer sem perder dias.
  • Aviso: 3 dias antes do vencimento você recebe um e-mail. Renove pelo painel em Renovar.
  • Tolerância: após o vencimento o servidor continua ligado por 3 dias.
  • Suspensão: passada a tolerância, o servidor é desligado e o IP sai do ar. Os dados ficam guardados por 7 dias; renovando nesse prazo, ele volta como estava.
  • Exclusão: terminados os 7 dias, o servidor, os dados e os domínios são apagados em definitivo. Não há recuperação depois disso.

6. Limites e boas práticas

  • Só IPv4. Não há endereço IPv6 no servidor.
  • E-mail em massa não. O IP é de datacenter e envio direto por SMTP tende a cair em spam ou ser bloqueado. Para e-mails da sua aplicação use um serviço transacional (Resend, Postmark, SES, SendGrid) e configure SPF, DKIM e DMARC pelo painel de DNS.
  • Recursos fixos. vCPU, memória e disco são os do plano. Precisa de mais? Contrate um plano maior e migre; não há redimensionamento no lugar.
  • Troca de face leva até dois minutos. Nesse intervalo o site fica fora do ar e conexões abertas (SSH, websockets) caem. Programe sua aplicação para reconectar.
  • Backup é com você para o que estiver só no disco do servidor. Não há snapshots automáticos.
  • Uso aceitável. Nada ilegal, nada de ataques, varreduras, spam ou mineração. Abuso derruba o servidor sem reembolso.

7. API e importação de DNS

Tudo que a tela de domínios faz também existe em JSON: listar servidores e domínios, criar e remover registros, apontar nomes para o servidor (escolhendo qual, se houver mais de um) e importar uma zona inteira. Autenticação por token, criado em Meu painel › Tokens de API.

curl https://eurochocopie.com/api/v1/domains -H "Authorization: Bearer ecp_SEU_TOKEN"

A referência completa, com todos os endpoints e exemplos, está em /api.

Migrando de outro DNS

Exporte a zona no provedor atual (a maioria oferece um arquivo no formato BIND) e cole em Importar vários registros de uma vez, na tela do domínio. O painel mostra o que vai ser criado antes de enviar; registros NS e SOA são ignorados porque a plataforma cuida deles. Depois crie os nomes "meu servidor" para o que apontava para o IP antigo.

8. CDN Brasil

Adicional de US$ 30,00 por mês para a conta inteira: servidores em São Paulo guardam cópias do seu site e entregam para quem acessa do Brasil. Imagens, CSS, JS, fontes e vídeos saem de perto; páginas dinâmicas continuam vindo do seu servidor, mas a conexão segura (TLS) é feita no Brasil, o que já encurta bastante o tempo de resposta.

Como ligar

  1. No painel, em CDN Brasil, contrate o adicional. Depois de pago, ele vale para todos os seus domínios.
  2. Abra o domínio e, na tabela Apontar para meu servidor, clique em Ativar CDN ao lado do nome que quer acelerar (normalmente www e @).
  3. Em cerca de um minuto emitimos um certificado para o nome, publicamos nos pontos de presença e trocamos o DNS. O estado aparece ao lado do nome.

Origem HTTPS ou HTTP

Origem HTTPS (padrão): a CDN busca o conteúdo no seu servidor pela porta 443 e exige um certificado válido para o nome, como o que o Caddy ou o certbot geram. Origem HTTP: a CDN busca pela porta 80, para servidores sem HTTPS. Nos dois casos o visitante sempre usa HTTPS com a CDN.

Seu servidor continua renovando o próprio certificado normalmente: pedidos de validação da Let's Encrypt (/.well-known/acme-challenge/) passam direto pela CDN até ele.

O que é guardado em cache

  • Arquivos estáticos (imagens, CSS, JS, fontes, vídeos, PDF, zip) ficam em cache por 1 hora quando o seu servidor não diz nada; se ele enviar Cache-Control, o prazo dele vale.
  • Páginas e APIs só entram em cache se o seu servidor pedir com Cache-Control: public, max-age=.... Respostas com cookie ou com Authorization nunca são guardadas.
  • Publicou uma versão nova? Clique em Limpar cache ao lado do nome. O cabeçalho X-Cache nas respostas mostra HIT ou MISS.
  • Seu servidor recebe o IP real do visitante em X-Forwarded-For e X-Real-IP, e o protocolo em X-Forwarded-Proto.

Franquia e o que acontece sem ela

A franquia é de 200 GB por período de 30 dias, somando todos os nomes da conta. Avisamos por e-mail aos 80%. Se acabar, a CDN pausa até o período seguinte e os nomes voltam a apontar direto para o seu servidor: o site continua no ar, só mais lento para o Brasil. Não há cobrança por excedente.

Se todos os pontos de presença saírem do ar, o DNS volta para o seu servidor sozinho, e volta para a CDN quando eles retornam. Só nomes "meu servidor" podem usar a CDN; SSH, e-mail e outras portas continuam indo direto para o servidor, porque a CDN só atende HTTP e HTTPS.

9. Perguntas frequentes

Posso usar meu próprio DNS em vez do painel?

Pode apontar seu DNS para o IP, e vai funcionar até a face trocar. Daí seu site cai até você atualizar. Pelo painel isso não acontece. Recomendamos fortemente usar o painel.

Posso rodar Docker, bancos de dados, Node, Python, PHP?

Sim, tudo. É um Linux completo com root via sudo. Docker funciona normalmente.

Quantos domínios posso ter?

Até 20 por conta, cada um gerenciado no painel com seus próprios registros.

Posso receber e-mail no meu domínio?

Sim: crie os registros MX e TXT do seu provedor de e-mail no painel. O que não recomendamos é enviar e-mail direto do servidor (veja a seção 6).

Perdi a chave SSH. E agora?

No painel, clique em Reenviar acesso por e-mail. A mesma chave chega de novo. Por segurança, isso é limitado a algumas vezes por dia.

Como vejo se o servidor está no ar?

O painel mostra o estado e o IP atual. Para monitorar de fora, use um serviço de uptime apontando para o seu domínio.

O que acontece se eu esquecer de renovar?

Você recebe o aviso 3 dias antes, tem 3 dias de tolerância depois do vencimento e mais 7 dias com o servidor suspenso mas com os dados guardados. Só depois disso ele é apagado.

Onde ficam meus dados?

Na máquina que executa seu servidor, protegida e fora da internet pública. A face exposta não guarda nada: só repassa o tráfego. Mesmo assim, faça backup do que importa.

Posso trocar de plano?

Hoje não há redimensionamento automático. Contrate o plano novo, migre seus dados e deixe o antigo vencer.

A CDN vê o conteúdo do meu site?

Sim: para entregar pelo Brasil, a CDN precisa abrir a conexão HTTPS com o visitante, como qualquer CDN. Se isso não serve para você, simplesmente não ligue a CDN naquele nome; o restante continua direto entre o visitante e o seu servidor.

Ver planos Ir para o painel