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
sudosem senha. Instale o que quiser comapt: 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
- No painel, em Domínios, adicione o domínio (por exemplo
minhaloja.com). - Copie os dois nameservers mostrados e cadastre no seu registrador (Registro.br, GoDaddy, Namecheap, Hostinger...), substituindo os que estão lá.
- Aguarde a ativação (de minutos a algumas horas). Você recebe um e-mail quando concluir.
- Em Domínios › seu domínio, crie os registros "meu servidor" para a raiz (
@) e parawww. 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
- Crie um projeto no Supabase (a região Singapura é a mais próxima de Bangkok).
- 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. - 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).
- 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
- Adicione
seudominio.comno painel e troque os nameservers no registrador (seção 2). - Quando o domínio ficar ativo, crie o registro "meu servidor" com o nome
loja. Em até um minutoloja.seudominio.comaponta para o seu servidor. - 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
- No painel, em CDN Brasil, contrate o adicional. Depois de pago, ele vale para todos os seus domínios.
- Abra o domínio e, na tabela Apontar para meu servidor, clique em Ativar CDN ao lado do nome que quer acelerar (normalmente
wwwe@). - 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 comAuthorizationnunca são guardadas. - Publicou uma versão nova? Clique em Limpar cache ao lado do nome. O cabeçalho
X-Cachenas respostas mostra HIT ou MISS. - Seu servidor recebe o IP real do visitante em
X-Forwarded-ForeX-Real-IP, e o protocolo emX-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.