Skip to content

madeinlowcode/easy-setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Easy Setup — Instalador CLI (SetupMLC)

Script Bash único e autossuficiente para preparar uma VPS Ubuntu/Debian com Docker Swarm e fazer o deploy, em poucos cliques, das stacks mais usadas: PostgreSQL, Redis, N8N (Editor / Workers / Webhooks / MCP), Stirling PDF, pgAdmin, pgBackWeb, Portainer e Cloudflare Tunnel.

É a versão linha de comando (sem interface web) — basta copiar o setup-mlc.sh para o servidor e rodar.


Requisitos

  • VPS com Ubuntu ou Debian (testado em Ubuntu 22.04/24.04)
  • Acesso root (ou sudo)
  • Conexão com a internet

Tudo o que o script precisa (Docker, etc.) é instalado por ele mesmo.


Instalação rápida

# 1. Baixe o script
curl -fsSL https://raw.githubusercontent.com/madeinlowcode/easy-setup/main/setup-mlc.sh -o setup-mlc.sh

# 2. Rode como root
sudo bash setup-mlc.sh

Ou clonando o repositório:

git clone https://github.com/madeinlowcode/easy-setup.git
cd easy-setup
sudo bash setup-mlc.sh

Como usar (passo a passo)

Ao rodar, aparece um menu numerado. A ordem recomendada numa VPS nova:

  1. Opção A — executa todo o preparo do servidor automaticamente (passos 1 a 9):

    • Atualiza o sistema (apt update && upgrade)
    • Configura o hostname (necessário pro Swarm)
    • Instala pacotes básicos + Docker
    • Habilita/inicia o Docker
    • Inicializa o Docker Swarm e cria a rede interna network_swarm_public
    • Mostra os tokens do Swarm (pra você adicionar outros servidores ao cluster)
    • Instala o CTOP (monitor de containers)
    • Configura o Cloudflare Tunnel (opcional — precisa de um token da Cloudflare)
    • Instala o Portainer (painel web — acesse em http://SEU-IP:9000)

    Você também pode rodar cada passo individualmente (opções 1 a 10).

  2. Opção 11 — instala as stacks (ferramentas). Submenu:

    # Stack O que é Precisa de Acesso após instalar
    1 PostgreSQL 16 + pgvector Banco de dados rede interna (postgres:5432)
    2 Redis 7 Fila / cache rede interna (redis:6379)
    3 N8N Editor Interface do N8N (criar workflows) 1, 2 http://SEU-IP:5678
    4 N8N Workers Executa os workflows em background 1, 2, 3 — (sem tela)
    5 N8N Webhooks Recebe webhooks externos 1, 2, 3 http://SEU-IP:5679
    6 N8N MCP API API MCP do N8N 1, 2 http://SEU-IP:5680/mcp
    7 Stirling PDF Ferramentas de PDF (juntar, OCR, converter...) http://SEU-IP:8011
    8 pgAdmin 4 Painel web pra gerenciar o Postgres 1 http://SEU-IP:5050
    9 pgBackWeb Backups do Postgres via web 1 http://SEU-IP:8085
  3. Opção 12 — mostra todas as senhas e endereços salvos.

  4. Opção 13 — remove uma stack instalada.


Importante saber

  • Instale o PostgreSQL (1) e o Redis (2) ANTES de qualquer stack do N8N.
  • Anote a senha do PostgreSQL e a chave de encriptação (ENCRYPTION_KEY) gerada no N8N Editor — você precisa das mesmas nos Workers, Webhooks e MCP.
  • O banco de dados do N8N e do pgBackWeb é criado automaticamente pelo script.
  • O Portainer dá só 5 minutos pra você abrir http://SEU-IP:9000 e criar o usuário admin. Se passar, use a opção 10 (reiniciar Portainer).
  • Se você não tem um domínio, use o IP do servidor nos campos de domínio do N8N.
  • Postgres e Redis ficam apenas na rede interna (não são expostos pra internet) — mais seguro. Use o pgAdmin (http://SEU-IP:5050) pra acessá-los.

Onde ficam os dados

Cada stack instalada gera:

/root/dados_vps/<stack>/<stack>.yaml      # o docker-compose usado no deploy
/root/dados_vps/<stack>/credenciais.txt   # senhas, chaves e endereço de acesso (chmod 600)

Os volumes Docker (postgres_data, redis_data, pgadmin_data, etc.) são criados automaticamente.


Cloudflare Tunnel (opcional)

Para expor os serviços na internet com segurança (sem abrir portas no firewall):

  1. No painel da Cloudflare → Zero Trust → Networks → Tunnels → crie um túnel.
  2. Copie o token gerado.
  3. No menu do script, escolha a opção 8 e cole o token.
  4. No painel do túnel, aponte cada hostname público para http://localhost:<porta> (ex.: n8n.seudominio.com → http://localhost:5678).

Não tem token? Pode pular — os serviços continuam acessíveis pelo IP do servidor.


Adicionar mais servidores ao cluster (Swarm)

A opção 6 do menu mostra os comandos docker swarm join ... (worker e manager) já com o IP deste servidor. Rode esse comando no novo servidor para ele entrar no cluster.


Solução de problemas

Problema O que fazer
Portainer abre e diz "timeout" Use a opção 10 (reiniciar Portainer) e abra em até 5 min
N8N não conecta no banco Confira se instalou Postgres (1) e Redis (2), e se a senha do Postgres está correta
pgBackWeb não conecta Evite caracteres especiais (@ : / # ?) na senha do Postgres — a conexão é uma URL
docker service ls mostra 0/1 Aguarde o pull da imagem; rode docker service ps <nome> --no-trunc pra ver o erro
Porta já em uso Pare o serviço que usa a porta, ou edite o .yaml em /root/dados_vps/<stack>/ e refaça o deploy

Comandos úteis:

docker stack ls                 # stacks instaladas
docker service ls               # serviços rodando
docker service ps <nome>        # status / erros de um serviço
docker stack rm <nome>          # remover uma stack
ctop                            # monitor de containers

Aviso

Este script faz alterações no sistema (instala pacotes, atualiza o SO, inicializa o Docker Swarm). Rode em uma VPS dedicada a isso, não numa máquina com outras coisas importantes. Sempre faça backup antes.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages