Repositório com templates e configurações para subir serviços úteis em um VPS usando Docker Compose. Ideal para testes, recuperação ou provisionamento rápido de pequenos ambientes.
🧩 Serviços incluídos (definidos em docker-compose.yml)
-
🗄️ Postgres —
docker-compose.yml:services.postgres- Imagem: bitnami/postgresql
- Variáveis: veja postgres/.env.example
- Volume:
./postgres/data
-
🤖 n8n —
docker-compose.yml:services.n8n- Imagem: n8nio/n8n
- Variáveis: veja n8n/.env.example
- Config: n8n/config
- Volume:
./n8n
-
🔌 MQTT (Mosquitto) —
docker-compose.yml:services.mqtt- Configuração: mqtt/config/mosquitto.conf
- Variáveis (Usuários): veja mqtt/.env.example (Gerado dinamicamente no boot)
- Volumes:
./mqtt/config,./mqtt/data,./mqtt/log
-
🧭 Portainer —
docker-compose.yml:services.portainer- Imagem: portainer/portainer-ce
- Volume:
./portainer/data
-
🧩 Evolution API —
docker-compose.yml:services.evolution- Imagem: atendai/evolution-api
- Variáveis: evolution/.env.example
- Volume:
./evolution
-
🔁 Redis —
docker-compose.yml:services.redis- Usado onde necessário pelo ambiente
docker-compose.yml— orquestração dos serviços.gitignore— evita comitar dados/senhas (ex.:*.env,*/data,*/log).github/workflows/restart.yaml— workflow para atualizar/reiniciar remoto via SSH.github/workflows/restart.yaml— workflow para atualizar/reiniciar remoto via SSH- Exemplos de variáveis: postgres/.env.example, n8n/.env.example, evolution/.env.example, mqtt/.env.example
- git
- docker
- docker-compose
- Clone:
git clone <url-do-repositorio>
cd vps-config- Crie seus arquivos .env a partir dos exemplos:
cp postgres/.env.example postgres/.env
cp n8n/.env.example n8n/.env
cp n8n/.env.example n8n/.env
cp evolution/.env.example evolution/.env
cp mqtt/.env.example mqtt/.env
# ajustar senhas e chaves antes de subir- Suba os serviços:
docker-compose up -d- Logs e gerenciamento:
docker-compose logs -f <serviço>
docker-compose up -d --force-recreate --build <serviço>
docker-compose stop <serviço>
docker-compose start <serviço>- Pare o serviço:
docker-compose stop postgres- Substitua
./postgres/datapelo backup. - Reinicie:
docker-compose up -d postgres- Não comite secrets; use os
.enve mantenha-os no.gitignore(.gitignore). - Faça backups regulares dos volumes (
postgres/data,n8n/, etc.). - Em produção, considere secrets managers e volumes externos.
Existe um workflow para reiniciar no servidor remoto via SSH: .github/workflows/restart.yaml. Configure os secrets (SSH_PRIVATE_KEY, REMOTE_HOST) no GitHub Actions antes de usar.
Abra uma issue ou envie um pull request. Se precisar de adaptação nas portas/volumes/serviços, descreva e será ajustado no docker-compose.yml.