Quando eu postei o tutorial completo sobre Docker, muitos anos atrás, algumas pessoas comentaram pedindo mais detalhes a respeito desse trecho aqui que comentei no post:
Bom, depois de.. *check notes*, mais de OITO anos, chegou a hora de eu detalhar como funciona isso, afinal, antes tarde do que mais tarde, certo? Então vamos lá.
Uma tarefa comum quando você está desenvolvendo um projeto é rodar um linter. Linters são ferramentas que analisam o código fonte do seu projeto e buscam detectar diferentes problemas no código, incluindo possíveis falhas na lógica e também questões relacionadas ao estilo do código. Porém, se tem uma coisa que incomoda MUITO é quando você está desenvolvendo, QUASE finalizando o software, e precisa ESPERAR para que ferramentas de verificação assim (que incluem tanto linters quanto testes, que são importantes para qualquer projeto) assim rodem.
Como programador, uma coisa que eu aprecio demais na nossa profissão é a possibilidade de criar side projects. Claro, relaxar é super importante, eu não nego, ainda mais para nós que trabalhamos basicamente pensando muito o dia inteiro.
Mas poder criar projetos que resolvem AQUELE problema ou necessidade chato que você tem - e ainda de quebra poder ajudar outras pessoas (ou até faturar algum $$$ extra, em alguns casos) - também é algo muito bem vindo.
O problema, como sempre, é que isso é basicamente...trabalho, e por mais interessante que seja poder customizar cada parte do seu próprio projeto, o fato é que quanto mais você demora para lançá-lo - por qualquer motivo que seja - maiores são as chances de você acabar desistindo e/ou partindo para outro projeto.
E é nesse ponto que entra o Dokku: um projeto que, após ser instalado em um servidor (VPS ou dedicado, conforme o seu bolso deixar), lhe permite facilmente criar novas aplicações e fazer deploy delas, usando um workflow muito parecido com o do Heroku, mas sem os custos extras (além do custo do servidor e do seu tempo, é claro).
No extenso post que fiz sobre o Docker, falei muito sobre o que a plataforma é apresentei alguns exemplos no qual ela se mostra bastante útil, mostrando o porque que ela é interessante especialmente para aplicativos já planejados para serem totalmente distribuídos. Entretanto, essa última parte, como você pode imaginar, exige um setup maior, pois você precisa configurar containers para cada aplicação e conectar tudo de forma que um container possa se comunicar com o outro, o que é bem complicado de administrar quando você precisa criar um determinado ambiente no Docker com determinada frequência (para uso por desenvolvedores, por exemplo). Por causa desse probleminha, hoje eu vou falar um pouco sobre o Docker Compose, uma ferramenta esperta que tem como objetivo facilitar essa configuração e permitir que ela seja reproduzível em qualquer ambiente no qual o Docker esteja instalado (ou que tenha acesso ao Docker, de alguma forma).
Como apresentado no post "Onde (e como) hospedar meus repositórios git?", existem várias formas de hospedar seu repositório Git, desde serviços online à opções que você instala em seu servidor e começa a usar de maneira simples e prática. Hoje, vou falar mais um pouco sobre o Gogs, uma opção de hospedagem de repositórios Git fácil de instalar e usar que você pode instalar em seu servidor e usar sem limitações, seguido de um tutorial para começar seu uso facilmente. Bora? 🙂