-
Notifications
You must be signed in to change notification settings - Fork 224
Open
Description
Bugs: Git Bash Path Conversion Causes Docker Mount Failure in Overleaf Toolkit
Environment
- OS: Windows 11 Professional 24H2 (Build 26100.4770)
- Git: 2.50.1.windows.1 (Git Bash kernel: MINGW64_NT-10.0-26100)
- Docker: 28.3.2 (build 578ccf6)
- Overleaf Toolkit: Latest commit (
4c8ef67d8960fa5eb268072b3c2559b249f97bc8
)
Description
When executing Overleaf Toolkit scripts via Git Bash on Windows, Docker encounters a critical mount path error due to Git Bash's automatic POSIX-to-Windows path conversion. The standard initialization workflow completes partially but fails at the container mounting stage with these logs:
amara@Amara MINGW64 /e/Downloads/GitRepo/Github/Docker/overleaf-toolkit (master)
$ ./bin/up -d
Initiating Mongo replica set...
[+] Running 2/2
✔ Network overleaf_default Created 0.0s
✔ Container mongo Started 0.3s
MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017
Waiting for Mongo...
MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017
Waiting for Mongo...
MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017
Waiting for Mongo...
MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017
Waiting for Mongo...
MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017
Waiting for Mongo...
MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017
Waiting for Mongo...
MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017
Waiting for Mongo...
MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017
Waiting for Mongo...
MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017
Waiting for Mongo...
MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017
Waiting for Mongo...
MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017
Waiting for Mongo...
MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017
Waiting for Mongo...
MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017
Waiting for Mongo...
MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017
Waiting for Mongo...
[+] Running 3/3
✔ Container redis Created 0.1s
✔ Container mongo Running 0.0s
✘ Container sharelatex Error response from dae... 0.0s
Error response from daemon: mount denied:
the source path "/Users/amara/AppData/Overleaf:D:/Program Files/Git/var/lib/overleaf:rw"
too many colons
Critical Failure Point:
The mount error occurs due to malformed path conversion:
"/Users/amara/AppData/Overleaf:D:/Program Files/Git/var/lib/overleaf:rw"
- The converter incorrectly injects the Git installation path (
D:/Program Files/Git
) - Creates a hybrid path with multiple colons (
:
) - Docker rejects the invalid path format
Analysis:
- Git Bash's path translation modifies
/var/lib/overleaf
- Docker interprets the converted path as invalid syntax
- Volume mapping fails despite successful network and container initialization
- The initial MongoDB connection attempts are not errors, but standard waiting routines
Reproduction Steps
# Clone toolkit repository
git clone https://github.com/overleaf/toolkit.git
cd toolkit
# Initialize configuration
./bin/init
# Launch services (fails)
./bin/up -d
Proposed Solution
Modify paths in bin/docker-compose
to bypass translation:
function set_base_vars() {
...
- OVERLEAF_IN_CONTAINER_DATA_PATH=/var/lib/overleaf
+ OVERLEAF_IN_CONTAINER_DATA_PATH=//var/lib/overleaf
if [[ "$IMAGE_VERSION_MAJOR" -lt 5 ]]; then
- OVERLEAF_IN_CONTAINER_DATA_PATH=/var/lib/sharelatex
+ OVERLEAF_IN_CONTAINER_DATA_PATH=//var/lib/sharelatex
fi
...
}
Rationale:
- Double-slash prefix
//var/...
works in Linux containers - Prevents Git Bash path conversion
- Maintains cross-OS compatibility
A-H-Mansoury and bfmhno3
Metadata
Metadata
Assignees
Labels
No labels