Criei um painel web Docker para rodar servidores de Minecraft na minha própria VPS (CraftDock)
Jogo Minecraft desde meados de 2013, na icônica versão 1.5.2. Ao longo de todos esses anos, testei praticamente todas as formas possíveis de hospedar um servidor para jogar com amigos, desde o velho Hamachi/port forwarding na rede de casa até serviços gerenciados como Aternos e Exaroton.
Desses painéis SaaS, sempre gostei da praticidade: uma interface web simples para iniciar/parar o servidor, alterar configurações sem mexer direto no console e ter visibilidade do status.
Porém, depois de começar a trabalhar com tecnologia, gerenciar minha própria infraestrutura e adotar a cultura de self-hosting, eu queria essa mesma experiência de uso, só que sob o meu controle: rodando via Docker na minha própria VPS, leve, isolado e fácil de subir com docker compose.
Ao testar algumas alternativas existentes no ecossistema open-source, achei a maioria excessivamente complexa ou pesada para um cenário simples de jogar casualmente com amigos e família. Decidi então desenvolver a minha própria solução: o CraftDock.
O CraftDock é um painel web minimalista e moderno feito para gerenciar servidores de Minecraft encapsulados em Docker, com alguns recursos como:
- Gerenciamento de Instância: Iniciar, parar e reiniciar a aplicação com um clique.
- Console Interativo em Tempo Real: Terminal web integrado para acompanhar os logs do servidor e enviar comandos
opdiretamente. - Editor de Configurações (
server.properties): Interface amigável para alterar parâmetros do servidor sem precisar editar arquivos manuais via SSH. - Gestão de Jogadores: Interface gráfica para gerenciar a whitelist, operadores (OPs) e banimentos.
- Visualização do Inventário: Mostra todo o inventário do jogador. Essa função parece meio inútil, mas é legal pra ver quando alguém roubou itens de outra pessoa.
- Implantação Rápida: Containerizado para ser lançado via
docker compose.
Como rodar
Você pode subir a aplicação rapidamente utilizando o docker-compose.bedrock.yaml ou o docker-compose.java.yaml
Nota: A aplicação interage com o daemon do Docker local através do socket para gerenciar o container do Minecraft dinamicamente.
Um efeito interessante
Além do ganho técnico e da facilidade de manter o servidor rodando em uma VPS barata, como a máquino do free tier da Oracle Cloud, sem depender de filas de espera de SaaS gratuitos, o projeto me reaproximou dos meus primos.
Montamos um servidor para a família e hoje jogamos todos juntos. Acabou virando uma ponte incrível de convivência entre mim e a geração mais jovem da família.
Repositório e Feedback
O projeto é 100% open-source sob licença MIT. Não tenho pretensão de transformar em um grande produto comercial, mas adoraria compartilhar com quem também curte self-hosting e busca uma solução simples para esse caso de uso.
- 🔗 Repositório no GitHub: lucasrguerra/CraftDock
Sugestões de melhoria, PRs e feedbacks sobre a arquitetura são muito bem-vindos!