Troubleshooting
Container Issues
Section titled “Container Issues”Container won’t start
Section titled “Container won’t start”# Check logsdocker logs magic_{tenant}_backend_dev --tail=100
# Check if port is in uselsof -i :4040
# Force recreatecd /mnt/data/magic_omniverse/magic_commerce/magic_{tenant}docker compose downdocker compose up -dBuild fails
Section titled “Build fails”# Clean build (no cache)docker compose build backend --no-cache
# Check disk spacedf -h /mnt/datadocker system prune # Clean unused images/containersRedis connection errors
Section titled “Redis connection errors”# Check Redis healthdocker exec magic_{tenant}_redis_dev redis-cli ping
# Restart Redisdocker compose restart redisDatabase Issues
Section titled “Database Issues”Can’t connect to PostgreSQL
Section titled “Can’t connect to PostgreSQL”# Check PostgreSQL is runningdocker exec magic_pim_postgres_dev pg_isready -U postgres
# Test connectiondocker exec magic_pim_postgres_dev psql -U postgres -l
# Check from a tenant containerdocker exec magic_brinxx_backend_dev ping host.docker.internalDatabase migration fails
Section titled “Database migration fails”# Run migration manuallydocker exec magic_{tenant}_backend_dev npx medusa db:migrate
# Check migration statusdocker exec magic_pim_postgres_dev psql -U postgres -d magic_b2b_{tenant} \ -c "SELECT * FROM mikro_orm_migrations ORDER BY executed_at DESC LIMIT 5;"Storefront Issues
Section titled “Storefront Issues”404 on storefront
Section titled “404 on storefront”- Check Nginx config:
nginx -t && systemctl reload nginx - Verify container is running:
docker ps | grep storefront - Check storefront logs:
docker logs magic_{tenant}_storefront_dev --tail=50
Images not loading
Section titled “Images not loading”- Check PIM data mount:
docker exec magic_{tenant}_backend_dev ls /mnt/data/pim_data/ - Verify Nginx serves
/pim_data/location - Check image path format (lowercase
.jpg, correct supplier prefix)
CORS errors
Section titled “CORS errors”- Check
STORE_CORSandADMIN_CORSenvironment variables - Ensure the domain is whitelisted in the tenant’s docker-compose.yml
- Restart backend after CORS changes
Nginx Issues
Section titled “Nginx Issues”SSL certificate expired
Section titled “SSL certificate expired”# Renew certificatescertbot renew
# Test confignginx -t
# Reloadsystemctl reload nginxSite not accessible
Section titled “Site not accessible”# Check Nginx statussystemctl status nginx
# Test config syntaxnginx -t
# Check specific site configls -la /etc/nginx/sites-enabled/ | grep {domain}Common Errors
Section titled “Common Errors””APLT database connection failed”
Section titled “”APLT database connection failed””- Check
APLT_DB_HOST,APLT_DB_PORT,APLT_DB_NAMEin docker-compose - Verify PostgreSQL container is healthy
- Ensure
host.docker.internalresolves (checkextra_hostsin docker-compose)
“PDF generation error”
Section titled ““PDF generation error””- Check PDFKit is installed: verify
pdfkitin package.json - Ensure
/mnt/data/brinxx_invoices/is writable - Check
aplt_cms_settingsfor company info
”Connector sync failed”
Section titled “”Connector sync failed””- Check supplier feed URL is accessible
- Verify connector is active in admin panel
- Check disk space for downloaded feed files
Useful Diagnostic Commands
Section titled “Useful Diagnostic Commands”# Check all containersdocker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" | grep magic_
# Disk usagedf -h /mnt/datadu -sh /mnt/data/magic_omniverse/magic_commerce/*/
# Find large filesfind /mnt/data -size +100M -type f
# Database sizesdocker exec magic_pim_postgres_dev psql -U postgres -c \ "SELECT datname, pg_size_pretty(pg_database_size(datname)) FROM pg_database ORDER BY pg_database_size(datname) DESC;"
# Network connectivitydocker network ls | grep magic