Awesome Docker Compose: O Atalho que Precisam para Fazer Deploy de Mais de 700 Aplicações Gratuitas

Olá a todos!

Hoje venho falar-vos de algo que me fez genuinamente sorrir quando descobri e que devia estar nos bookmarks de qualquer pessoa que trabalhe com self-hosting, containers, ou simplesmente goste de experimentar software sem perder três dias a ler documentação: o awesome-docker-compose.com.

Mais de 700 aplicações populares, prontas a fazer deploy com um docker-compose up. Sem magia negra, sem configurações impossíveis, sem aquele momento em que querem atirar o portátil pela janela porque a documentação oficial assumiu que vocês têm um doutoramento em redes e já sabem configurar um reverse proxy de olhos fechados.

A dor de fazer deploy de novas aplicações

Vamos ser honestos. Quantas vezes já quiseram experimentar uma aplicação self-hosted nova, leram a documentação, e pensaram “lá vamos nós outra vez”?

O processo é sempre o mesmo: uma secção “Requirements” com dezasseis dependências. Depois a configuração da base de dados que assume que já têm um PostgreSQL a correr — e claro, naquela versão específica que eles querem. Seguem-se variáveis de ambiente que são “muito importantes” mas nunca bem explicadas. E quando acham que já está, descobrem que precisam de um Redis, um Nginx, e talvez um ElasticSearch só porque sim.

Três horas depois, quando finalmente fazem login pela primeira vez, já nem se lembram porque queriam experimentar aquilo. E se decidirem que afinal não querem? Boa sorte a limpar os volumes, networks e containers órfãos espalhados pelo sistema como confetti depois da passagem de ano.

O que é o awesome docker compose?

É uma colecção curada de mais de 700 aplicações self-hosted, cada uma com o seu ficheiro docker-compose.yml pronto a usar. Sem clickbait, sem marketing. Literalmente: “aqui está o compose file, aqui estão os recursos que precisas, bom trabalho.”

E a parte mais importante? Na maioria dos casos, funciona. Copy-paste e está feito.

O que o torna especial?

  • Estrutura de directórios clara — cada aplicação vem com a explicação dos ficheiros e pastas que vão precisar. Nada de surpresas a meio do deployment sobre onde meter os dados persistentes.
  • Templates testados — os compose files não são exemplos académicos que assumem uma infraestrutura perfeita. São ficheiros reais, para ambientes reais.
  • Recursos completos — cada aplicação tem links directos para o site oficial, GitHub, Docker Hub e documentação de configuração. Poupa-vos imenso tempo de pesquisa.
  • Categorização por tipo — as aplicações estão organizadas por categorias, o que torna fácil descobrir ferramentas que nem sabiam que precisavam.

Na prática: o exemplo do uptime kuma

Imaginem que querem fazer deploy do tão usado Uptime Kuma. No método tradicional, iriam ao site oficial, procurar a secção de instalação com Docker, copiar comandos, ajustar paths, rezar um bocadinho.

Com o awesome-docker-compose? Vão à página, copiam o compose file, fazem docker-compose up -d, e pronto:

version: '3'
services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    container_name: uptime-kuma
    volumes:
      - './data:/app/data'
    ports:
      - '3001:3001'
    restart: always

Cinco linhas de YAML. O Uptime Kuma fica a correr. Sem troubleshooting, sem drama.

Onde isto me tem sido mais útil

Exploração rápida de ferramentas

Quantas vezes já desistiram de experimentar algo porque a instalação parecia demasiado complicada? Com isto, consigo testar cinco ferramentas diferentes numa tarde sem comprometer a infraestrutura principal. Se não gostar, docker-compose down -v e desaparece como se nunca tivesse existido.

Demos para clientes

Trabalho como consultor com empresas e PMEs, e muitas vezes preciso de demonstrações de conceito rápidas. Antes significava horas a preparar ambientes de teste. Agora escolho as aplicações, faço deploy num VPS barato e tenho uma demo funcional em minutos. Quando acaba, destruo tudo. Nada mata uma venda mais rápido do que dizer “deixem-me duas semanas para preparar a demo”.

Formação

Se trabalham com equipas ou dão formação, este site é ouro. Posso pedir aos formandos para fazerem deploy de uma stack completa — frontend, backend, base de dados, monitoring — em minutos, e passamos o tempo a aprender sobre a arquitectura em vez de lutar com configurações. Focamo-nos no que interessa: como é que as coisas funcionam em conjunto, best practices, como debugar problemas.

Homelab/On-Prem

Para quem tem um homelab (e se não têm, deviam considerar), é fantástico para rapidamente adicionar capacidades. Nextcloud? Dois minutos. Gitea para repos privados? Três minutos. Jellyfin? Copy, paste, done.

Disaster recovery e testes

Querem validar os vossos procedimentos de DR? Deploy da aplicação crítica num ambiente temporário, restauram o backup, verificam se tudo funciona, docker-compose down e está feito. Excelente para treinar equipas em procedimentos de emergência.

Proof of concepts

A desenhar uma arquitectura nova? Usem os compose files para montar um PoC com todos os componentes em minutos. Permite falhar rápido e iterar sem perder tempo com setup manual.

As categorias que mais uso

O site tem centenas de aplicações, mas estas são as que visito constantemente:

  • Monitoring e Observability — Uptime Kuma, Grafana, Prometheus, NetData. Essenciais para qualquer infraestrutura minimamente séria.
  • Produtividade e Colaboração — Nextcloud, OnlyOffice, BookStack, Mattermost. Permitem às PMEs fugirem das subscrições da Microsoft e Google mantendo (ou melhorando) a funcionalidade.
  • Media Servers — Jellyfin, Plex, Navidrome. Para quem valoriza controlo sobre os seus media sem depender de subscrições de streaming.
  • Gestão de Projectos — Taiga, Plane, Focalboard. Alternativas ao Jira/Trello/Asana que não custam um rim por utilizador.
  • Bases de Dados e Caching — PostgreSQL, MySQL, Redis, MongoDB. Porque às vezes precisamos de databases standalone para projectos específicos.

Boas práticas que aprendi

Depois de usar o site durante meses – tenho usado desde meio de 2025- , ficam algumas lições:

Leiam a documentação de configuração — por muito tentador que seja o copy-paste directo, dez minutos a ler podem poupar horas de troubleshooting.
Ajustem os paths dos volumes — os compose files usam relative paths (./data), óptimo para começar. Em produção, usem absolute paths ou named volumes com backup automático. Eu centralizo tudo em /config/docker/<nome-da-app>.
Reverse proxy desde o início — montem um reverse proxy (Nginx Proxy Manager, Traefik) antes de tudo. Facilita imenso a gestão de SSL, domínios e segurança.
Estrutura de pastas consistente — organizem os vossos compose files por categorias (monitoring, productivity, media). O vosso eu do futuro agradece.

As Limitações (e porque nem tudo são rosas)

Não são configurações para produção — a maioria dos compose files serve para desenvolvimento local ou testes. Para produção, precisam de ajustar: secrets geridos adequadamente, volumes com backup, health checks, restart policies, logging centralizado. Não caiam na tentação do copy-paste directo para produção.
Versões podem estar desactualizadas — verifiquem sempre se há versões mais recentes das imagens Docker e ajustem conforme necessário.
Configurações complexas ficam de fora — para clusters Kubernetes ou setups de alta disponibilidade, os compose files são apenas ponto de partida.
Conflitos de rede — alguns compose files assumem que certas portas estão livres. Se já têm uma infraestrutura complexa, preparem-se para ajustar portas e configurações de rede.

Os meus favoritos pessoais

  • Uptime Kuma — monitoring simples mas eficaz. Mais fácil de usar que o Prometheus para casos básicos.
  • Nginx Proxy Manager — reverse proxy com UI web. Essencial para qualquer homelab.
  • Vaultwarden — gestor de passwords self-hosted, compatível com Bitwarden. Ter passwords numa cloud de terceiros sempre me pôs nervoso.
  • BookStack — wiki/documentação interna. Fantástica para documentar infraestrutura e procedimentos.
  • Navidrome — music streaming server. Os meus MP3s acessíveis de qualquer lugar sem depender do Spotify.
  • Jellyfin — media server que substituiu completamente o Plex para mim. Zero telemetria, zero custos de subscrição.
  • Nextcloud — cloud storage self-hosted. Com OnlyOffice integrado, é uma alternativa completa ao Google Drive/Microsoft 365.

A mudança de mentalidade

O que me fascina nisto não é apenas a conveniência técnica. É a democratização do self-hosting.
Há dez anos, montar um ambiente de self-hosting complexo era domínio de sys-admins com anos de experiência. Era preciso conhecer Linux intimamente, entender de redes, saber configurar web servers e bases de dados.
Hoje, com Docker e recursos como este, qualquer pessoa com curiosidade pode ter uma infraestrutura complexa a funcionar em horas. E numa era em que estamos cada vez mais dependentes de serviços cloud com subscrições mensais, ter a capacidade de fazer self-hosting é libertador. Não é só uma questão de custo — é controlo, privacidade e independência.
Quando têm o vosso próprio Nextcloud, os dados estão na vossa infraestrutura. Quando têm o vosso próprio Vaultwarden, as passwords não estão na cloud de ninguém. Quando têm o vosso próprio Jellyfin, não perdem acesso aos media porque uma subscrição expirou.

O argumento económico para PMEs

As subscrições de SaaS acumulam-se depressa. Microsoft 365, Google Workspace, Slack, Monday, DocuSign — facilmente chegam a milhares de euros por mês para equipas pequenas. Com self-hosting, podem ter funcionalidade equivalente por uma fracção do custo. Há custos de infraestrutura e manutenção, claro, mas para muitas PMEs o trade-off vale a pena.

Começar é mais fácil do que pensam

Se nunca experimentaram self-hosting, precisam de três coisas:

  1. Um servidor ou VPS — pode ser um Raspberry Pi, um mini PC velho, ou um VPS de 5€/mês na Hetzner ou DigitalOcean.
  2. Docker e Docker Compose instalados — literalmente três comandos.
  3. Uma hora livre — para experimentar duas ou três aplicações e ver como funciona.

Não precisam de ser sys-admins experientes. Precisam de curiosidade e vontade de aprender.

Para onde ir a partir daqui?

  • Explorem o site — dediquem uma tarde a navegar pelas categorias. Vão descobrir aplicações que nem sabiam que existiam.
  • Montem um reverse proxy — Nginx Proxy Manager é o meu favorito para começar. Muda completamente o jogo.
  • Aprendam sobre backups — ter aplicações a correr é fixe. Ter backups automáticos que sabem restaurar é essencial.
  • Juntem-se a comunidades — o r/selfhosted e r/homelab no Reddit são fantásticos.
  • Documentem tudo — o vosso eu do futuro vai agradecer quando precisarem de lembrar porque fizeram aquela configuração específica.

E contribuam de volta: se encontrarem compose files bons para aplicações que não estão no site, façam um PR no GitHub. Se encontrarem um desactualizado, melhorem-no. É assim que o ecossistema open-source cresce.

Recursos úteis

Agora vão lá experimentar algo fixe.
Abraço,
Nuno

P.S.: Sim, a ironia de escrever um post longo sobre uma ferramenta que poupa tempo não me escapa. Mas confiem: o tempo que vão poupar compensa largamente os minutos de leitura.
P.P.S.: Se forem fazer deploy em produção, por favor leiam a documentação de segurança. Self-hosting é fantástico mas não à custa de deixarem a infraestrutura aberta ao primeiro script kiddie que passar por ali.
P.P.S.S.: E sim, 700 aplicações pode parecer overwhelming. Comecem com uma ou duas que realmente precisam. Não tentem fazer deploy de tudo ao mesmo tempo — a não ser que gostem de passar fins de semana a fazer troubleshoot de containers órfãos. Ask me how i know…. :]