/images/avatar.webp

Elói Carneiro

RustDesk: suporte remoto open source sob meu controle

Administrar computadores de uma empresa frequentemente exige acesso remoto. Nem sempre estou diante da máquina que precisa de suporte, e esperar que o usuário descreva cada detalhe do problema pode transformar uma correção simples em uma sequência longa de mensagens.

O RustDesk é uma alternativa open source para esse cenário. Ele permite criar uma solução de acesso remoto para as máquinas que administro, com clientes para diferentes sistemas e também para o celular. Na prática, consigo iniciar um atendimento rapidamente sem depender exclusivamente de uma solução comercial.

pip-audit: verificando vulnerabilidades nas dependências Python

Como programo em Python, uma das minhas preocupações é a segurança das aplicações que desenvolvo. Tento trabalhar seguindo as melhores práticas: valido entradas, cuido das permissões, evito expor informações sensíveis e procuro manter a infraestrutura organizada.

Mesmo assim, existe uma parte importante do projeto que não foi escrita por mim: as dependências.

Uma aplicação pode ter um código bem revisado e ainda carregar uma vulnerabilidade por meio de um pacote instalado pelo pip. Muitas vezes a dependência direta também traz outras dependências, que ficam ainda mais escondidas no ambiente. É fácil esquecer que cada pacote adicionado ao projeto aumenta a superfície que precisa ser acompanhada.

Podman: contêineres rootless com mais controle no Linux

Contêineres facilitam testar aplicações, separar dependências e reproduzir serviços em máquinas diferentes. A tecnologia é útil, mas a forma como o runtime é executado também importa: um comando simples pode criar processos, redes, volumes e permissões no host.

O Podman é uma alternativa compatível com o ecossistema de contêineres OCI e com muitos comandos conhecidos do Docker. Para o meu uso, ele apresenta uma proposta mais segura e flexível que a instalação Docker tradicional porque não depende de um daemon central privilegiado e permite executar contêineres diretamente como um usuário comum.

Cloudflared Tunnel: publicar containers na internet sem uma VPS

Publicar uma aplicação na internet costumava significar contratar uma VPS, configurar um endereço IP, abrir as portas 80 e 443, instalar um proxy reverso e cuidar dos certificados. Esse modelo continua sendo válido, mas nem sempre faz sentido pagar por um servidor separado quando já tenho uma máquina própria capaz de executar os containers.

O Cloudflare Tunnel, executado pelo cloudflared, oferece outro caminho. Um agente instalado no meu servidor cria conexões de saída para a rede da Cloudflare e encaminha as requisições para uma aplicação local. Assim, consigo publicar um serviço usando meus próprios recursos, sem expor diretamente o endereço do servidor e sem abrir portas de entrada no firewall.

Syncthing: arquivos sincronizados entre notebook, smartphone e servidor

Uma das pequenas tarefas que mais se repetem no dia a dia é transferir um arquivo de um dispositivo para outro. Às vezes preciso enviar uma foto do smartphone para o notebook, copiar um documento para o servidor ou levar uma anotação para todos os lugares onde trabalho.

O Syncthing ajuda a eliminar boa parte desse trabalho manual. Depois que os dispositivos estão configurados, ele mantém pastas sincronizadas automaticamente entre eles. No meu fluxo, isso significa ter arquivos disponíveis no notebook, no smartphone e no servidor sem precisar iniciar um envio toda vez.

Cockpit no openSUSE Leap 16: uma nova forma de gerenciar servidores

Durante muitos anos, o YaST foi uma das características mais marcantes do openSUSE. Ele reunia instalação, configuração e administração do sistema em uma ferramenta que podia ser usada tanto em uma interface gráfica quanto no terminal. Para quem administra servidores, ter essa coleção de módulos em um só lugar era muito conveniente.

Com o openSUSE Leap 16, essa história mudou. A pilha tradicional do YaST foi retirada do Leap 16 e o projeto passou a distribuir essas responsabilidades entre ferramentas diferentes. O Agama assume a instalação, o Cockpit fica voltado para o gerenciamento do sistema e o Myrlyn ocupa o espaço da interface gráfica de gerenciamento de software.

UV: ambientes e dependências Python com velocidade e praticidade

Gerenciar um projeto Python envolve mais do que escrever os arquivos da aplicação. É preciso escolher a versão do Python, criar o ambiente virtual, instalar dependências, registrar versões e repetir tudo isso em outra máquina ou durante um deploy.

O uv reúne essas tarefas em uma ferramenta única e rápida. Desenvolvido em Rust, ele resolve dependências, aproveita cache e evita que eu precise alternar entre várias ferramentas para preparar o ambiente. A praticidade não está apenas em executar comandos mais velozes: está em deixar o estado do projeto explícito e fácil de reproduzir.

Uptime Kuma: monitoramento simples para antecipar problemas

Nem sempre um problema em um equipamento ou serviço aparece primeiro como um chamado. Às vezes uma aplicação para de responder, um host fica inacessível ou um serviço de rede apresenta uma falha, mas ninguém percebe imediatamente. Foi para ter essa visibilidade que passei a usar o Uptime Kuma.

O Uptime Kuma é uma solução simples de monitoramento, mas que agiliza muito a identificação de problemas nos equipamentos e serviços que tenho na rede. Ele verifica os ativos monitorados e mostra rapidamente quando algo deixou de responder. Com isso, consigo começar a investigação antes mesmo de o usuário descobrir que alguma coisa não está funcionando.

Rclone: migrando arquivos entre serviços de nuvem

Manter arquivos em serviços de nuvem é conveniente, mas a migração entre provedores nem sempre é simples. Quando precisei levar um backup do Dropbox para o Google Drive, não queria depender de baixar tudo para o notebook e depois enviar novamente. Além de demorar, esse processo exigiria espaço local e uma conexão estável durante toda a operação.

Foi nesse cenário que o Rclone se tornou uma ferramenta muito útil. Com ele, consigo tratar diferentes serviços de armazenamento como destinos acessíveis pelo terminal e fazer cópias diretamente entre eles.

Tailscale: uma VPN ágil para conectar máquinas e acelerar o trabalho

Interligar máquinas de uma rede doméstica, um notebook e um servidor remoto normalmente envolve endereços IP, encaminhamento de portas, firewall e alguma forma de autenticação. Quando a necessidade é apenas acessar os equipamentos com segurança, montar essa estrutura manualmente pode consumir mais tempo do que o problema realmente exige.

O Tailscale simplifica esse trabalho ao criar uma rede privada baseada em WireGuard. Depois que os dispositivos entram na mesma tailnet, consigo acessá-los por nomes e endereços privados, sem precisar expor cada serviço diretamente na internet. Essa agilidade ajuda tanto no desenvolvimento quanto na operação de aplicações em servidores próprios.