incluido comandos sh

This commit is contained in:
Luiz Silva 2026-01-01 20:36:25 -03:00
parent 568684f8b7
commit 0d4ab67e0f
4 changed files with 98 additions and 0 deletions

View file

@ -97,6 +97,35 @@ Para subir tudo:
docker compose up --build 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 > Dica: esse comando roda em **foreground**. Ao pressionar `Ctrl+C`, o Docker
> encerra os containers. > encerra os containers.
> >

28
menu/deploy.sh Executable file
View file

@ -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"

21
menu/log.sh Executable file
View file

@ -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

20
menu/parar.sh Executable file
View file

@ -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