Underworlds Scriptorium Fabula.

Esta página foi traduzida do Inglês para o Português com a ajuda do groq.
Este artigo foi traduzido do russo para o português usando o tradutor Groq API. O artigo original pode ser encontrado here.

Meu progresso desde a publicação da última fábula. Mudança para um novo hospedagem. Configuração do servidor de e-mail, backup, sistema de notificações de recursos do servidor. Localização do programmer-underworlds.

Meus cumprimentos. Agora são 01:37 de 26 de abril de 2026, horário padrão central, e eu decidi que é hora de voar com meus pensamentos e relatar meus feitos desde que, em fevereiro, publiquei a última fábula. Preparem seu refrigerante favorito que você gosta de beber ao assistir vídeos no YouTube e vamos... :)

Quero formatar este artigo como um voo livre de pensamentos, em vez de um relatório bem pensado. :) Tenho trabalhado arduamente em diferentes partes do meu projeto, sobre as quais escreverei abaixo, e isso tem sido bastante intenso. E é provável que eu escreva este artigo em várias sessões.

Uma grande e responsável decisão foi mudar para um novo hospedagem, pois o hospedagem gratuito anterior no Google Cloud não atendia mais às minhas necessidades e exigências do projeto e, um dia, simplesmente parou de funcionar. Eu supus que era devido à falta de memória RAM, pois o hospedagem gratuito do Google oferecia apenas 2GB de memória RAM. E no dia seguinte, comecei a pesquisar alternativas acessíveis (em termos de preço). E encontrei o Contabo, que ofereceu condições bastante boas, na minha opinião (em comparação com as alternativas do Google). E começou... Eu comecei a transferir as configurações existentes do hospedagem anterior para o novo. E consegui fazer isso com sucesso em aproximadamente uma semana.

O próximo passo foi algo que eu havia pensado por muito tempo: fazer backups da configuração, pois uma grande parte da configuração foi feita com a ajuda do ChatGPT e levaria muito tempo para reconfigurar tudo novamente. Eu pensei em usar o rsync, mas o chat sugeriu o restic, e eu gostei do fato de que o restic faz backups incrementais. Os backups incrementais são muito mais rápidos do que os backups completos e funcionam quase como um repositório Git, o que me permite reverter para uma versão anterior, se necessário. E eu consegui configurar o restic para fazer backups do meu servidor com sucesso e de forma eficiente. Agora, para fazer um backup completo do meu sistema, eu simplesmente faço login no meu VPS no Contabo e executo um script que faz backup de todas as configurações no meu computador local.

Em seguida, eu queria implementar meu desejo antigo de ser notificado se o meu servidor não estivesse funcionando bem. Mais especificamente, queria receber notificações por e-mail se o meu servidor estivesse com pouco espaço em disco (no Google Cloud, havia apenas 10GB, agora tenho 100GB) e se o meu projeto programmer-underworlds (um processo Java) tivesse parado por algum motivo. E para isso, eu concluí que seria bom ter meu próprio servidor de e-mail, pois a configuração do VPS agora permite isso (4GB de RAM e 4 núcleos de processador, em comparação com os 2 núcleos do Google). E como eu já tenho um domínio, eu concluí que agora, com a ajuda do LLM, seria fácil configurar o servidor de e-mail. E eu estava certo. :) O Mailcow é uma solução bastante simples e conveniente, com tudo o que eu preciso (interface web, IMAP, SpamAssassin). Se você tiver interesse em obter uma caixa de e-mail @programmer-underworlds.dev (ou um alias @p-u.dev, que torna mais fácil ditar seu endereço de e-mail em encontros pessoais ou por telefone), me avise, escrevendo para pasha@p-u.dev. :)

Depois de configurar o servidor de e-mail, eu precisava configurar o sistema de monitoramento de recursos (uso de memória RAM, espaço livre em disco, verificação se o processo Java do meu projeto está funcionando), e, por sugestão do ChatGPT, eu usei a ferramenta monit. Essa ferramenta é bastante conveniente e me atende perfeitamente. Aqui está um exemplo de como a página do monit looks, fornecendo informações visuais sobre os recursos que me interessam.

Página do monit com recursos monitorados.

Eu adicionei o monitoramento do processo Java (icoupserver, programmer-underworlds) e também a verificação da regularidade da atualização do certificado SSL para o site (programmer-underworlds.dev-ssl). E agora, se eu parar o processo Java (para atualizar, por exemplo), eu recebo uma notificação por e-mail com o seguinte teor

E-mail do monit sobre o processo programmer-underworlds parado.

Agora são 18:29 de 26 de abril de 2026 e eu continuo escrevendo esta fábula.

Em seguida, eu me perguntei "E como eu vou receber notificações do monit se o meu servidor de e-mail parar de funcionar?" e, inicialmente, eu queria configurar notificações por SMS, mas, após discutir com o LLM, eu fui convencido a usar notificações por Telegram, o que eu fiz de forma rápida e simples. Com a ajuda do LLM, eu criei um bot do Telegram e um script para o monit para enviar notificações sobre o status do servidor de e-mail diretamente para a minha conta do Telegram.

Notificação do monit sobre o servidor de e-mail parado no Telegram.

E foi muito agradável ver como o meu servidor se tornou cada vez mais um servidor de produção de nível completo. :)

Eu sabia que agora seria bom ter nomes de domínio diferentes para a interface web do meu servidor de e-mail e para o aplicativo programmer-underworlds, e que, ao mesmo tempo, o URL não precisaria mencionar portas diferentes para abrir essas páginas. E, naturalmente, eu já havia ouvido falar da programa de proxy reverso amplamente utilizada por todos os gigantes (e liliputianos) da indústria, o nginx, criado por Igor Sysoev. E este tap foi concluído em aproximadamente 2 dias, com a ajuda do LLM, que criou uma configuração do nginx que atendia aos meus interesses. E agora o meu servidor ouve e processa solicitações nos nomes de domínio programmer-underworlds.dev e mail.programmer-underworlds.dev.

Em seguida, eu dividi o meu projeto em duas partes: programmer-underworlds e icoupserver. Eu decidi separar a lógica responsável pela parte do jogo em um projeto separado, pois agora eu raramente faço alterações no jogo e mais frequentemente faço alterações na parte que é o site.

Nesse momento, eu já estava frequentemente visitado pelo desejo de compartilhar meus artigos com minha mãe e amigos que falam russo, e eu sabia que poucos deles estariam confortáveis lendo meus artigos em inglês, e eu não queria sobrecarregá-los com a "tradução manual" das páginas e queria que a experiência de leitura e interação com o meu site fosse confortável e em um idioma conveniente para eles. E, portanto, eu me propus a tarefa de localizar os artigos e a interface do meu site para os falantes de russo (e também chinês, japonês e muitos outros idiomas). E, como sempre, o objetivo foi alcançado em aproximadamente 2 semanas, e agora os usuários de muitos países têm a oportunidade de desfrutar da leitura das minhas fábulas em seu idioma nativo, com conforto. Depois de alcançar isso, eu conectei fontes góticas bonitas para o russo, chinês, japonês e indiano.

Por sinal, um dos meus bons amigos, Zakhar, expressou recentemente algo como: "A fonte é ilegível. É como sangue nos olhos )". E se você concorda com ele na sua opinião (eu, pessoalmente, acho que essas fontes são um prazer para os olhos), então eu recomendo que você (assim como ele) leia esta fábula.

E agora eu encontrei tempo para escrever este artigo-relatório. Eu, naturalmente, queria compartilhar muitas coisas que aconteceram desde a última fábula. Por exemplo, sobre como a minha conta foi bloqueada pelo YouTube e minhas tentativas de conversar com os representantes do suporte do YouTube para recuperar o acesso aos meus vídeos, que eu carreguei ao longo de muitos anos (cerca de 10 anos), e sobre o meu ódio pelos representantes do YouTube, que surgiu como resultado. E talvez eu escreva sobre esse caso específico, mas agora eu quero localizar este artigo para os outros idiomas suportados pelo meu servidor e compartilhá-lo com o mundo.

Obriado por seu tempo e atenção. E como sempre...

O Imperador Protege.