From 0d4ab67e0f0a1065577475d42259f3ba83185683 Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Thu, 1 Jan 2026 20:36:25 -0300 Subject: [PATCH] incluido comandos sh --- README.md | 29 +++++++++++++++++++++++++++++ menu/deploy.sh | 28 ++++++++++++++++++++++++++++ menu/log.sh | 21 +++++++++++++++++++++ menu/parar.sh | 20 ++++++++++++++++++++ 4 files changed, 98 insertions(+) create mode 100755 menu/deploy.sh create mode 100755 menu/log.sh create mode 100755 menu/parar.sh diff --git a/README.md b/README.md index 05bc516..cd90522 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,35 @@ Para subir tudo: docker compose up --build ``` +## Scripts de operação (menu/) + +Para facilitar operação com Docker em servidor (onde é comum precisar de `sudo`), +existem dois scripts simples na pasta `menu/`: + +### Deploy + +Sobe/atualiza a aplicação e abre os logs em seguida: + +```bash +sh menu/deploy.sh +``` + +### Logs + +Exibe os logs do `docker compose` (tail 500) e segue (modo "-f"): + +```bash +sh menu/log.sh +``` + +### Parar + +Para a aplicação (sem remover containers): + +```bash +sh menu/parar.sh +``` + > Dica: esse comando roda em **foreground**. Ao pressionar `Ctrl+C`, o Docker > encerra os containers. > diff --git a/menu/deploy.sh b/menu/deploy.sh new file mode 100755 index 0000000..45db107 --- /dev/null +++ b/menu/deploy.sh @@ -0,0 +1,28 @@ +#!/bin/sh +set -eu + +# deploy.sh +# +# Objetivo: subir/atualizar a aplicação com Docker Compose e, em seguida, +# exibir os logs (tail -f). +# +# Regras locais: +# - este script é executado com: `sh menu/deploy.sh` +# - sempre usamos `sudo` (o ambiente exige) +# +# Observação (.agent): evitar expor segredos em logs. Este script não imprime +# conteúdo de `.env` nem variáveis sensíveis. + +# Garante que estamos na raiz do repositório (onde está o docker-compose.yml). +cd "$(dirname "$0")/.." + +# Sobe/atualiza a aplicação. +sudo docker compose up -d --build + +# Exibe o status dos serviços. +sudo docker compose ps + +# Abre os logs em seguida. +# Usamos exec para manter o terminal no stream do log (CTRL+C para sair). +cd "./menu" +exec sh "./log.sh" diff --git a/menu/log.sh b/menu/log.sh new file mode 100755 index 0000000..47f892a --- /dev/null +++ b/menu/log.sh @@ -0,0 +1,21 @@ +#!/bin/sh +set -eu + +# log.sh +# +# Objetivo: acompanhar os logs do Docker Compose. +# +# Regras locais: +# - este script é executado com: `sh menu/log.sh` +# - sempre usamos `sudo` (o ambiente exige) +# +# Observação (.agent): evitar expor segredos em logs. Este script não imprime +# `.env` nem variáveis sensíveis (mas a aplicação pode logar erros operacionais). + +# Garante que estamos na raiz do repositório (onde está o docker-compose.yml). +cd "$(dirname "$0")/.." + +# Tail fixo conforme padrão operacional. +TAIL_LINES="500" + +sudo docker compose logs --no-color --tail="$TAIL_LINES" -f diff --git a/menu/parar.sh b/menu/parar.sh new file mode 100755 index 0000000..c433de9 --- /dev/null +++ b/menu/parar.sh @@ -0,0 +1,20 @@ +#!/bin/sh +set -eu + +# parar.sh +# +# Objetivo: parar a aplicação via Docker Compose (sem remover containers). +# +# Regras locais: +# - este script é executado com: `sh menu/parar.sh` +# - sempre usamos `sudo` (o ambiente exige) +# +# Observação (.agent): evitar expor segredos em logs. Este script não imprime +# `.env` nem variáveis sensíveis. + +# Garante que estamos na raiz do repositório (onde está o docker-compose.yml). +cd "$(dirname "$0")/.." + +sudo docker compose stop +sudo docker compose ps +