Troubleshooting¶
500 Internal Server Error¶
- leggere log:
journalctl -u safeops-web.service -n 200 --no-pager - identificare endpoint e stack trace.
- applicare fix e riavviare
safeops-web.
Errore DB non raggiungibile¶
- verificare
DATABASE_URLin.env. - verificare stato DB/container.
- test connessione da host app.
Menu non visibile o errato¶
- controllare host/context tenant.
- controllare policy menu e ruoli.
- verificare warning in
app/__init__.py(menu filter fallback).
Celery non processa¶
- controllare worker:
systemctl status safeops-celery.service - verificare Redis reachability.
- test task ping.
MinIO problemi upload/download¶
- verificare credenziali endpoint S3.
- verificare bucket e policy.
- provare upload test da UI e verificare link proxy.
Accesso diretto al database¶
- È disponibile un
docker-compose.adminer.ymlche orchestramysqlsuper(MariaDB) eadminerper gestiresuperdbda browser. - Puoi usare
make adminer(onpm run adminer) per avviare il solo Adminer;make editor-adminer(onpm run adminer-editor) porta su anche lo stack Document Editor (Collabora). I target*-down/*-restartequivalenti fermano o riavviano gli stack corrispondenti. - Per avviare tutto e accedere a Adminer:
docker compose -f docker-compose.adminer.yml up -d open http://${ADMINER_HOST:-localhost}:${ADMINER_PORT:-8090} user: ${MYSQL_USER:-superuser} password: ${MYSQL_PASSWORD:-superpass} database: ${MYSQL_DATABASE:-superdb} - Personalizza i valori (
MYSQL_ROOT_PASSWORD,MYSQL_DATABASE,MYSQL_USER,MYSQL_PASSWORD,MYSQL_SUPER_PORT,ADMINER_PORT,ADMINER_HOST) nel.envprima di faredocker composese ti serve un set diverso; impostandoADMINER_HOST=10.50.0.200il servizio sarà raggiungibile da quell’indirizzo (mantenendo comunque binder locale su 0.0.0.0 se vuoi multi-host). - Per indicare un socket Unix invece della porta, imposta anche
MYSQL_SUPER_SOCKET=/opt/mysql/mysql.sockeADMINER_DEFAULT_SERVER=localhost(il volume monta il socket su/var/run/mysqld/mysqld.sock). Adminer userà automaticamente quel socket interno quando selezioniMySQL (Socket)oHost = localhostnella schermata di login.
Riavvia Document Editor+Adminer¶
- Usa
make editor-adminer-restart(oppurenpm run adminer-editor:restart) per far ripartire insiememysqlsuper,adminer,safeops-document-editor-serviceesafeops-collaborasenza toccare il MinIO già esistente. Il target manda primadocker compose down(su entrambi i compose file) e poiup -dcon le stesse variabili d’ambiente. - Il bridge editor legge
onlyoffice_service/.env; assicurati che punti al MinIO centrale (MINIO_ENDPOINT=10.50.0.200:9000,MINIO_ACCESS_KEY,MINIO_SECRET_KEY,MINIO_BUCKET). - Se preferisci un alias shell, aggiungi nel tuo
~/.bashrcqualcosa tipo:alias safeops-editor='cd /home/safeops/safeops && make editor-adminer-restart' - Per istruzioni passo passo, consulta il runbook dedicato:
docs/document-editor-integration.md. Così bastano due tasti per riavviare tutto senza ricordare il compose file.