Runbooks Operativi¶
Procedure passo-passo per operazioni comuni di gestione del sistema SGV GE.CO.
Restart Servizi¶
Restart Singolo Container (Docker)¶
cd ~/vscode-projects/sgv2-docker
# Restart specifico servizio
docker-compose restart be-geco
# Verifica stato
docker-compose ps be-geco
# Controlla logs
docker-compose logs -f be-geco
Restart Completo Ambiente¶
Restart WildFly (dentro il container)¶
docker-compose exec be-geco /opt/wildfly/bin/jboss-cli.sh --connect --command=":shutdown(restart=true)"
Redeploy Applicazione¶
Redeploy Singolo WAR¶
# 1. Build nuovo WAR
cd ~/vscode-projects/sgv-ge.co
cd GeCo.Alfa && mvn clean package && cd ..
# 2. Copia nel container
cp GeCo.Alfa/target/GeCo.Alfa.war \
~/vscode-projects/sgv2-docker/be-geco/deployments/
# 3. Verifica deploy riuscito
cd ~/vscode-projects/sgv2-docker
docker-compose exec be-geco ls -la /opt/wildfly/standalone/deployments/*.deployed
Force Redeploy (se il deploy automatico non funziona)¶
cd ~/vscode-projects/sgv2-docker
# Rimuovi marker di deploy precedente
docker-compose exec be-geco rm -f /opt/wildfly/standalone/deployments/GeCo.Alfa.war.deployed
docker-compose exec be-geco rm -f /opt/wildfly/standalone/deployments/GeCo.Alfa.war.failed
# Forza nuovo deploy
docker-compose exec be-geco touch /opt/wildfly/standalone/deployments/GeCo.Alfa.war.dodeploy
# Attendi e verifica
sleep 10
docker-compose exec be-geco ls -la /opt/wildfly/standalone/deployments/
Accesso Database¶
Connessione PostgreSQL¶
cd ~/vscode-projects/sgv2-docker
# Shell interattiva psql
docker-compose exec liquidb psql -U own_c_a662 -d c_a662
# Query rapida
docker-compose exec liquidb psql -U own_c_a662 -d c_a662 \
-c "SELECT count(*) FROM vv_verbale;"
Backup Database¶
cd ~/vscode-projects/sgv2-docker
# Dump completo
docker-compose exec liquidb pg_dump -U sgv_dev sgv_dev > backup_$(date +%Y%m%d).sql
# Dump solo schema
docker-compose exec liquidb pg_dump -U sgv_dev -s sgv_dev > schema_$(date +%Y%m%d).sql
# Dump singola tabella
docker-compose exec liquidb pg_dump -U sgv_dev -t vv_verbale sgv_dev > vv_verbale_$(date +%Y%m%d).sql
Restore Database¶
cd ~/vscode-projects/sgv2-docker
# Restore da dump
cat backup.sql | docker-compose exec -T liquidb psql -U sgv_dev sgv_dev
Verifica Logs¶
Logs WildFly¶
cd ~/vscode-projects/sgv2-docker
# Logs container Docker
docker-compose logs -f be-geco
# Logs WildFly server
docker-compose exec be-geco tail -f /opt/wildfly/standalone/log/server.log
# Cerca errori
docker-compose exec be-geco grep -i "error\|exception" /opt/wildfly/standalone/log/server.log | tail -20
Logs Quarkus¶
# In dev mode, i log sono nello stdout
cd ~/vscode-projects/sgv-ge.co/REST
./mvnw compile quarkus:dev
# I log appaiono direttamente nel terminale
Troubleshooting Comune¶
Applicazione non risponde (HTTP 503)¶
- Verifica container attivo:
docker-compose ps - Verifica deploy WAR:
docker-compose exec be-geco ls /opt/wildfly/standalone/deployments/*.deployed - Controlla logs:
docker-compose logs --tail=50 be-geco - Verifica memoria:
docker stats be-geco - Se necessario, restart:
docker-compose restart be-geco
Errore "No tenant identifier specified" (REST Quarkus)¶
- Header
X-Realmmancante nella richiesta HTTP - Aggiungere:
X-Realm: c_a662(o altro tenant)
OutOfMemoryError¶
- Controlla:
docker stats - Aumenta memoria in
.envodocker-compose.yml - Restart container:
docker-compose restart <service>
Connessione database rifiutata¶
- Verifica container DB:
docker-compose ps liquidb - Verifica porta:
docker-compose port liquidb 5432 - Test connessione:
docker-compose exec liquidb pg_isready - Restart DB:
docker-compose restart liquidb