Debug Overleaf Error: MongoDB

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.
Mongo Error

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/backup
exit

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_bk
mkdir ./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

  1. Always backup before database repairs
  2. MongoDB’s --repair flag can fix file corruption issues
  3. Replica set configurations may be lost during repair and need reinitialization
  4. The repair process creates a clean database while preserving data integrity

Reference

Deepseek


Debug Overleaf Error: MongoDB
https://dyliu0312.github.io/blog.github.io/2025/12/26/Debug-Overleaf-Error-MongoDB/
Author
dyliu
Posted on
December 26, 2025
Licensed under