O Docker começou como uma maneira conveniente de testar aplicativos sem sobrecarregar o sistema, mas gradualmente se tornou a base de todo o meu fluxo de trabalho de desenvolvedor. Em vez de instalar todos os bancos de dados, serviços, painéis e utilitários diretamente no meu computador, agora executo a maioria deles em contêineres que posso executar, atualizar e remover em minutos.
O resultado é uma configuração mais limpa, menos conflitos de dependência e um ambiente de desenvolvimento muito mais fácil de implementar em todos os projetos.
Guia
Uma plataforma Git privada e auto-hospedada
Gitea é um dos contêineres mais importantes no meu fluxo de trabalho de desenvolvedor porque me oferece um local privado e leve para todo o meu código. Ainda uso o GitHub para projetos públicos e colaboração, mas nem todo experimento, ideia inacabada ou projeto de cliente pertence a ele.
Com o Gitea rodando no Docker, posso hospedar meus repositórios Git, criar ramificações, rastrear problemas, revisar commits e gerenciar projetos sem usar uma plataforma de terceiros.
A maior vantagem para mim é o controle. Meus armazenamentos ficam no meu hardware e eu decido como eles serão armazenados em backup, acessados e organizados. Também posso construir o Gitea com o resto da minha pilha de desenvolvimento usando Docker Compose, tornando a configuração facilmente reproduzível quando mudo para outra máquina ou servidor.
Atracação
Simplifica o gerenciamento do Docker Compose
Dockge é o contêiner que uso para manter o restante da configuração do Docker gerenciável. À medida que meu fluxo de trabalho cresceu de alguns serviços para várias pilhas do Compose, a edição manual de arquivos YAML e a alternância entre comandos de terminal começaram a parecer entediantes.
Dockge me fornece uma interface visual clara para criar, editar, iniciar, parar, reiniciar e monitorar meus projetos Docker Compose em um só lugar.
Meus arquivos de pilha ainda são legíveis e portáteis, então posso abri-los manualmente, movê-los para outra máquina ou gerenciá-los no terminal sempre que precisar.
Dockge pode não ser o contêiner mais interessante da minha configuração, mas é um dos mais práticos. Ele serve como um painel de controle para minhas pilhas do Compose, permitindo meu fluxo de trabalho de desenvolvedor e facilitando a manutenção de todo o ambiente.
Partes ativas
Automatize fluxos de trabalho repetitivos de desenvolvedor
Activepieces faz parte do meu fluxo de trabalho de desenvolvedor porque me ajuda a automatizar as tarefas repetitivas que geralmente ficam entre a codificação, o teste e a implantação.
Posso conectar aplicativos, APIs, webhooks e bancos de dados usando fluxos de trabalho visuais em vez de escrever um script separado para cada pequena tarefa. Por exemplo, posso usar Activepieces para enviar uma notificação quando uma implantação for concluída, criar uma tarefa quando um novo problema for relatado, mover dados entre serviços ou acionar um fluxo de trabalho sempre que uma API receber um webhook.
Usá-lo como um contêiner Docker também se encaixa perfeitamente no restante da configuração. Eu controlo onde ele é executado, como seus dados são armazenados e quais serviços ele pode acessar.
Sincronização
Mantém os arquivos privados e repetíveis
O Sync mantém arquivos importantes do projeto sincronizados em todos os meus dispositivos sem me forçar a depender de um serviço tradicional de armazenamento em nuvem. Eu o uso para arquivos de configuração, scripts, documentação, ativos locais e outros recursos de desenvolvimento que posso precisar em várias máquinas.
Depois de adicionar uma pasta, a sincronização observa automaticamente as alterações e atualiza outros dispositivos conectados em segundo plano.
O que mais gosto é que os dados se movem diretamente entre meus dispositivos. Não existe uma unidade central na nuvem que mantenha uma cópia de tudo, e posso controlar quais pastas são compartilhadas e onde são armazenadas. Executar o Sync no Docker mantém a configuração isolada e fácil de manter com o restante da minha pilha auto-hospedada.
Ainda uso o Git para código-fonte e histórico de versões, mas a sincronização desempenha uma função diferente. Ele lida com arquivos de suporte que não pertencem necessariamente ao repositório.
Gerenciador de proxy Nginx
Gerencia domínios, proxies e SSL
O Nginx Proxy Manager me oferece uma maneira limpa e prática de acessar todos os meus serviços auto-hospedados. Em vez de ter que lembrar um endereço IP e um número de porta diferentes para cada contêiner, posso atribuir a cada serviço um domínio ou subdomínio simples.
Isso significa que posso abrir ferramentas como Gitea, Dockge, Activepieces ou Uptime Kuma usando endereços fáceis de lembrar em vez de digitar 192.168.xx:3000 todas as vezes.
Também me ajuda a adicionar HTTPS aos meus serviços com muito menos esforço. Posso solicitar e renovar certificados, forçar conexões seguras e aplicar controles de acesso sem reconstruir todas as minhas configurações de rede.
Horário de funcionamento em Belém
Monitora serviços e envia alertas
O Uptime Kuma me oferece uma maneira fácil de monitorar os serviços dos quais dependo todos os dias. Quando comecei a executar ferramentas como Gitea, Dockge, Activepieces, Outline, Mealie, Syncthing e Nginx Proxy Manager usando Docker, precisei de algo que pudesse me dizer quando um deles parasse de responder.
O Uptime Kuma cumpre essa função sem adicionar complexidade. Eu o uso para monitorar sites, serviços internos, portas e APIs a partir de um único painel. De relance, posso ver se tudo está online, a rapidez com que cada serviço está respondendo e se houve alguma interrupção recente.
O sistema de notificação também é útil. Posso configurar alertas utilizando serviços como o Telegram, que já utilizo. Então eu sei quando o contêiner cai ou quando o tempo de resposta de repente fica anormalmente alto.
Isso não me ajuda a escrever código diretamente, mas protege o ambiente em torno do meu trabalho.
O kit de ferramentas essencial para desenvolvedores do Docker
Construir um fluxo de trabalho de desenvolvedor em torno do Docker não se tratava de executar contêineres só porque eu podia. Cada um resolve um problema específico que anteriormente exigia uma assinatura diferente, configuração manual ou tarefa repetida.
Dockge mantém minhas pilhas Compose gerenciáveis e Activepieces cuida da automação que não quero repetir. O Sync me mantém no controle dos meus arquivos, enquanto o Uptime Kuma une tudo, observando tudo configurado e me alertando se algo der errado.
Essa pilha é flexível, privada e fácil de reconstruir, e é exatamente por isso que não voltarei ao meu antigo fluxo de trabalho de desenvolvedor.
Junto com eles, também tenho experimentado LLMs locais auto-hospedados para melhorar meu fluxo de trabalho de desenvolvedor.







