Debugging Overleaf: Fixing MongoNetworkError Connection Refused Problem When running Overleaf locally via Docker (deplolyed through overleaf toolkit), the service suddenly became inaccessible due to MongoDB connection failures. Investigation revealed corrupted database files preventing MongoDB from starting.
Solution: Database Repair & Recovery 1. Backup Original Data Before any repair attempts, always backup your data:
1 tar -czvf backup-data.tar.gz data/*
2. Start MongoDB Container 1 bin/docker-compose up -d mongo
3. Enter Container & Repair Database 1 2 docker exec -it mongo bash mongod --repair --dbpath /data/db 2>&1
4. Backup Repaired Data 1 2 mongodump --out /data/db/backupexit
5. Transfer Backup Locally 1 2 docker cp mongo:/data/db/backup ./backup_mongodb docker stop mongo
6. Replace Corrupted Data 1 2 mv ./data/mongo ./data/mongo_bkmkdir ./data/mongo
7. Temporary Fix for Replica Set Edit lib/docker-compose.mongo.yml:
Change: command: mongod --replSet overleaf --bind_ip_all
To: command: mongod --bind_ip_all
8. Restart MongoDB 1 bin/docker-compose up -d mongo
9. Initialize Replica Set 1 docker exec mongo mongosh --eval "rs.initiate()"
10. Restore Data 1 2 docker cp ./mongodb_backup mongo:/tmp/backup1 docker exec mongo mongorestore /tmp/backup1
11. Restore Original Configuration Revert the change in lib/docker-compose.mongo.yml and start the overleaf:
1 2 bin/docker-compose down mongo bin/up -d
Key Takeaways
Always backup before database repairs
MongoDB’s --repair flag can fix file corruption issues
Replica set configurations may be lost during repair and need reinitialization
The repair process creates a clean database while preserving data integrity
Reference Deepseek