Vai al contenuto

Troubleshooting

500 Internal Server Error

  1. leggere log:
    journalctl -u safeops-web.service -n 200 --no-pager
    
  2. identificare endpoint e stack trace.
  3. applicare fix e riavviare safeops-web.

Errore DB non raggiungibile

  • verificare DATABASE_URL in .env.
  • verificare stato DB/container.
  • test connessione da host app.
  • 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.yml che orchestra mysqlsuper (MariaDB) e adminer per gestire superdb da browser.
  • Puoi usare make adminer (o npm run adminer) per avviare il solo Adminer; make editor-adminer (o npm run adminer-editor) porta su anche lo stack Document Editor (Collabora). I target *-down/*-restart equivalenti 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 .env prima di fare docker compose se ti serve un set diverso; impostando ADMINER_HOST=10.50.0.200 il 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.sock e ADMINER_DEFAULT_SERVER=localhost (il volume monta il socket su /var/run/mysqld/mysqld.sock). Adminer userà automaticamente quel socket interno quando selezioni MySQL (Socket) o Host = localhost nella schermata di login.

Riavvia Document Editor+Adminer

  • Usa make editor-adminer-restart (oppure npm run adminer-editor:restart) per far ripartire insieme mysqlsuper, adminer, safeops-document-editor-service e safeops-collabora senza toccare il MinIO già esistente. Il target manda prima docker compose down (su entrambi i compose file) e poi up -d con 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 ~/.bashrc qualcosa 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.