Use DOCKER_SOCKET_PATH for pulling sibling container images

Open
#437 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
68/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
docker, shell

Research direction

Start with bin/up and trace the sibling-container image-pulling path used when SIBLING_CONTAINERS_PULL=true. Check how DOCKER_SOCKET_PATH is passed to pulls versus sibling-container run commands, then verify that images are pulled through the configured socket, including the DinD case if feasible.

Written by the indexing model from the issue text.

Description

Steps to Reproduce

  1. Enable sibling containers and set DOCKER_SOCKET_PATH to custom docker.sock
  2. Enable automatic sibling container pulling: SIBLING_CONTAINERS_PULL=true
  3. Start overleaf: bin/up

Expected Behaviour

Docker images should get pulled through the same docker.sock that will receive run commands for sibling containers.

Observed Behaviour

Images for sibling containers get pulled through the default docker.sock of the host system.

Context

Personally I don't like giving a container access to the hosts docker.sock, basically giving it access to other containers as well.
That's why I wanted to set up a docker in docker (DinD) setup, where I provide a separate docker.sock from the docker - docker container. This already works well, but I have to pull needed sibling container images manually inside the DinD container before I can use them in Overleaf.

Optionally (for my DinD case)

It would be great if the sibling image pulling could get timed somehow to make sure the docker.sock is available.
I don't know how doable this is, but maybe just polling the socket until it becomes available could be a good start.

Dominant language
Shell
Stars
1.3k
Forks
310
Avg merge
3d 12h
Merged PRs (30d)
1

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from overleaf/toolkit

All issues in overleaf/toolkit

Similar issues

More Shell/Bash issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.