O que o Zelie faz

Apps, os bancos de dados que eles usam e servidores de jogos em um servidor Linux, e o que mantém tudo rodando. Cada parte em resumo; a documentação tem todos os detalhes.

O console ao vivo de um servidor de Minecraft no ZelieO console ao vivo de um servidor de Minecraft no Zelie

Apps

Um app vem do GitHub, de uma imagem de container ou dos seus próprios arquivos para Node.js, Python, Bun, Deno ou Java.

  • Conectar o GitHub cria um GitHub App na sua própria conta, com acesso só aos repositórios que você escolher
  • Variáveis, comuns ou secretas; os builds as recebem sem gravá-las na imagem
  • Volumes que sobrevivem aos deploys, cada um com um limite de tamanho que você pode aumentar
  • Limites de memória e CPU, logs ao vivo e métricas guardadas por um dia
As métricas de um app no Zelie na última hora: requisições e erros de servidor, CPU, memória e redeAs métricas de um app no Zelie na última hora: requisições e erros de servidor, CPU, memória e rede

Builds e deploys

Um repositório com Dockerfile usa esse Dockerfile no build; sem ele, o Railpack descobre como fazer o build. Os testes de um projeto Node rodam a cada build novo, sem rede, e um teste que falha mantém a versão antiga.

  • Com um domínio, a versão nova inicia ao lado da antiga e recebe tráfego depois da verificação de saúde
  • Sem domínio, ou com volumes, a antiga para primeiro, para que nunca rodem duas cópias ao mesmo tempo
  • As últimas cinco versões mantêm a imagem, então um rollback leva um ou dois segundos
  • Depois de cinco crashes em dez minutos, um app fica parado e o painel diz o motivo
Um app implantado a partir do GitHub no Zelie: o commit no ar e quatro anteriores, cada um com um link Roll backUm app implantado a partir do GitHub no Zelie: o commit no ar e quatro anteriores, cada um com um link Roll back

Servidores de jogos

Os servidores de jogos rodam a partir de eggs do Pterodactyl e do Pelican: Minecraft, Rust, Valheim, Palworld, Counter-Strike 2 e outros da lista, ou qualquer outro egg pelo link.

  • Um console ao vivo com cores, as últimas 500 linhas, uma linha de comando com histórico, filtros e comandos rápidos
  • Arquivos no navegador com editor, e os mesmos arquivos por SFTP
  • Portas de um conjunto que você configura uma vez; os jogadores se conectam direto ao servidor
  • Sem porta pública para um servidor atrás de um proxy; servidores no mesmo grupo de rede se alcançam pelo nome
  • Agendamentos, backups, clones e atualizações da Steam quando ninguém está jogando
  • Quando um servidor cai, o Zelie lê as últimas linhas dele e diz o motivo
Um servidor de Minecraft que caiu no Zelie, com a causa provável, falta de memória com 2 GB, e um botão para aumentar para 3 GBUm servidor de Minecraft que caiu no Zelie, com a causa provável, falta de memória com 2 GB, e um botão para aumentar para 3 GB

Jogadores

Para Rust e Minecraft, e como uma lista simples para alguns outros jogos da Steam.

  • Quem está online, com ping e tempo online
  • Entradas e saídas guardadas por 30 dias, o chat por 7, com busca
  • Kick e banimento com motivo; um banimento pode terminar sozinho
  • Notas sobre jogadores e um registro do que os administradores fizeram
  • Whitelist e operadores no Minecraft, owners e moderadores no Rust, e banimentos por nome, SteamID ou IP, com o servidor rodando ou parado
  • No Rust: grupos, permissões e plugins do Oxide e do Carbon, e ferramentas RCON como mensagens, silenciar e teleportar
  • Slots no Rust que acompanham quem está online e na fila, se você ativar
A aba Players de um servidor de Rust no Zelie com o perfil de um jogador aberto: notas, sessões e chat recenteA aba Players de um servidor de Rust no Zelie com o perfil de um jogador aberto: notas, sessões e chat recente

Redes privadas

Cada app e cada servidor de jogo tem uma rede própria. Um administrador pode colocar alguns deles num grupo de rede: os membros se alcançam pelo nome em todas as portas, TCP e UDP, e todo o resto continua fechado.

  • Entrar ou sair vale na hora; nada reinicia
  • Um servidor de jogo pode ser criado sem porta pública, e aí só o grupo dele o alcança
  • O acesso a um banco de dados no host continua por app; um grupo não o abre para os outros
  • Um proxy Velocity configura a cada início os servidores Paper e Purpur atrás dele: encaminhamento moderno, a lista de servidores e um segredo compartilhado

Como configurar: Network groups e Minecraft network.

Bancos de dados

PostgreSQL 18 e 17, MariaDB 11.8 e 10.11 e Redis 8, cada um no próprio container com o próprio volume. Nenhum recebe porta pública.

  • Vincule um deles a um app ou a um servidor de jogo e ele recebe DATABASE_URL ou REDIS_URL
  • Versões de correção recebem backup e depois são trocadas; uma versão principal passa para um volume novo, e o antigo fica se algo falhar
  • Uma aba Data somente leitura, com tabelas, filtros, busca e exportação em CSV
  • Ferramentas de desktop como o TablePlus se conectam por um túnel SSH
As tabelas e linhas de um banco PostgreSQL, navegadas em modo somente leitura no ZelieAs tabelas e linhas de um banco PostgreSQL, navegadas em modo somente leitura no Zelie

Backups

Os bancos de dados recebem backup toda noite às 3:00, guardado por sete dias, a menos que você mude isso. Apps e servidores de jogos também podem ter backup em horário programado.

  • Comprimidos e criptografados no servidor, com um arquivo de recuperação que permite que outro servidor os abra
  • Cópias em qualquer armazenamento compatível com S3, guardadas por 30 dias por padrão
  • Uma restauração primeiro faz backup do que já está lá e o coloca de volta se a restauração falhar
A aba Backups de um banco PostgreSQL no Zelie: backups noturnos guardados no servidor e fora dele, cada um com RestoreA aba Backups de um banco PostgreSQL no Zelie: backups noturnos guardados no servidor e fora dele, cada um com Restore

Domínios e HTTPS

Dê um domínio a um app e o proxy faz o roteamento. Em uma instalação com domínio, os certificados vêm do Let’s Encrypt; atrás de um Cloudflare Tunnel, a Cloudflare cuida do HTTPS. O túnel já rodou em um servidor real; o Let’s Encrypt, por enquanto, só contra um substituto de teste.

Atualizações

O Zelie se atualiza com um clique, e apps, bancos de dados e servidores de jogos continuam rodando enquanto isso. Se você quiser, uma rodada toda noite às 04:30 faz o resto, e espera enquanto um backup, build ou deploy estiver rodando.

  • A versão de correção do próprio Zelie
  • Versões de segurança do Node, usadas na hora e refeitas a partir do mesmo commit
  • Novos builds de tags de imagem e de banco de dados que trazem uma versão, com backup antes
  • Correções para pacotes vulneráveis em projetos npm, pnpm e Yarn 1, testadas em um branch e mescladas, ou abertas como pull request
  • Versões principais esperam aprovação; uma atualização automática precisa ficar de pé por 60 segundos, ou a antiga volta
As últimas noites na página Server do Zelie: atualizações do Zelie, do Node e do Postgres, uma imagem revertida, um app pulado e uma versão esperando aprovaçãoAs últimas noites na página Server do Zelie: atualizações do Zelie, do Node e do Postgres, uma imagem revertida, um app pulado e uma versão esperando aprovação

Fechado por padrão

  • O proxy, o painel e o servidor SFTP rodam cada um com seu próprio usuário sem privilégios
  • O núcleo roda como root, mas não tem porta de rede: ele só responde em um socket Unix
  • Os containers usam namespaces de usuário, então o root dentro de um deles é um usuário sem privilégios no host
  • Os bancos de dados nunca recebem porta pública
  • Os segredos são selados no momento em que são salvos, e o painel não consegue lê-los de volta
A internet alcança o painel. Ela não alcança a parte que roda como root.

O que um servidor envia para a Caria Core, e o que ele nunca envia: Licença e privacidade.

Subusuários

Convide alguém com um link e escolha o que a pessoa pode fazer em cada serviço. Ela entra com a própria senha e uma segunda etapa, que toda conta precisa ter.

  • Permissões uma a uma, como o console, ligar e desligar, arquivos, backups e deploys, ou a partir dos modelos de leitor, moderador e administrador
  • Ninguém pode dar mais do que tem, e um serviço que não foi dado a alguém nem aparece para essa pessoa
  • A licença, as atualizações, as portas e as chaves ficam com os donos
  • Toda mudança em um serviço fica no registro de atividades, com quem a fez
  • Desativar uma conta encerra a sessão dela em todo lugar, incluindo as chaves de console e SFTP

Interface

Cinco temas, uma cor de destaque, densidade e tamanho do texto, salvos na conta para que todo dispositivo fique igual. Funciona no celular. Por enquanto, o único idioma é o inglês. Os serviços fixados ficam no topo da página inicial e do menu lateral, e Ctrl+K (Cmd+K no Mac) leva a qualquer serviço, aba ou configuração.

Ainda não

  • Vários servidores gerenciados a partir de um só painel

Instalar o Zelie

O Zelie está em fase inicial de desenvolvimento, e o Free está aberto a todos: crie uma conta e instale em um servidor seu. Pro e Business vêm depois: o Pro também para um servidor seu, o Business para quem vende hospedagem.

support@cariacore.com

Recursos do Zelie: apps, bancos de dados, jogos e backups