Troubleshooting Guide
This guide covers common issues and their solutions when running WaterCrawl self-hosted.
Common Issues
Services Not Starting
Symptoms
- Services fail to start
- Docker containers exit immediately
- Error messages in docker logs
Solutions
-
Check container logs:
docker compose logs [service_name]
-
Verify environment configurations:
docker compose config
-
Check system resources:
docker stats
-
Ensure all required ports are available:
netstat -tulpn | grep LISTEN
Database Connection Issues
Symptoms
- App fails to connect to database
- Database-related error messages
- Slow database operations
Solutions
-
Verify PostgreSQL is running:
docker compose ps postgres
-
Check database logs:
docker compose logs postgres
-
Verify database credentials in
db.env
-
Test database connection:
docker compose exec postgres psql -U [username] -d [database]
Storage Issues
Symptoms
- File upload failures
- Missing media files
- MinIO console inaccessible
Solutions
-
Check MinIO credentials match in both
minio.env
andapp.env
-
Verify MinIO is running:
docker compose ps minio
-
Check MinIO logs:
docker compose logs minio
-
Test MinIO connectivity:
curl http://localhost:9000/minio/health/live
Memory Issues
Symptoms
- Services crashing
- Out of memory errors
- Slow performance
Solutions
-
Check memory usage:
docker stats
-
Adjust container memory limits in
docker-compose.yml
-
Monitor system memory:
free -m
-
Clear Docker system:
docker system prune
Network Issues
Symptoms
- Services can't communicate
- External access problems
- SSL/TLS errors
Solutions
-
Check Docker network:
docker network ls
docker network inspect watercrawl_default -
Verify port mappings:
docker compose ps
-
Test internal network:
docker compose exec app ping postgres
-
Check SSL certificates if using HTTPS
Debugging Tools
Docker Debugging
# View container details
docker inspect [container_id]
# Execute command in container
docker compose exec [service] [command]
# View container logs
docker compose logs -f [service]
Database Debugging
# Connect to database
docker compose exec postgres psql -U [username] -d [database]
# Check database size
SELECT pg_size_pretty(pg_database_size('[database]'));
# Check active connections
SELECT * FROM pg_stat_activity;
Getting Help
If you're still experiencing issues:
- Check the GitHub Issues
- Search the Documentation
- Join our Discord Community
- Open a new issue with:
- Detailed problem description
- Error messages
- System information
- Relevant logs