Missing git dependency when installing SSS packages via git

Summary

When down-sizing the image, we removed a git dependency that we still need for installing server-sid scripting packages via pip install git+....

Expected Behavior

Package should install.

Actual Behavior

linkahead start terminates with

Waiting for server at localhost:10443 ......... reached
  ERROR: Error [Errno 2] No such file or directory: 'git' while executing command git version
ERROR: Cannot find command 'git' - do you have 'git' installed and in your PATH?
Command '['docker', 'exec', '-u', '0', 'linkahead', '/bin/bash', '-c', 'pip3 install --break-system-packages git+https://gitlab.indiscale.com/caosdb/src/caosdb-crawler.git@9c85e25d1eba7be9493e76b7b12787786f09e7a3']' returned non-zero exit status 1.
Traceback (most recent call last):
  File "/home/florian/linkahead/src/linkahead-control/./linkahead", line 1456, in start_caosdb
    subprocess.run(["docker", "exec", "-u", "0",
    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                    get_server_container_name(config),
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<2 lines>...
                    + package["package"]],
                    ^^^^^^^^^^^^^^^^^^^^^^
                   check=True, stdout=subprocess.PIPE)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.13/subprocess.py", line 577, in run
    raise CalledProcessError(retcode, process.args,
                             output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['docker', 'exec', '-u', '0', 'linkahead', '/bin/bash', '-c', 'pip3 install --break-system-packages git+https://gitlab.indiscale.com/caosdb/src/caosdb-crawler.git@9c85e25d1eba7be9493e76b7b12787786f09e7a3']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/florian/linkahead/src/linkahead-control/./linkahead", line 2573, in <module>
    main()
    ~~~~^^
  File "/home/florian/linkahead/src/linkahead-control/./linkahead", line 2560, in main
    args.func(config, args=args)
    ~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/home/florian/linkahead/src/linkahead-control/./linkahead", line 1987, in start
    start_caosdb(config=config, terminate=args.terminate,
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                 env=custom_env, no_build=no_build)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/florian/linkahead/src/linkahead-control/./linkahead", line 1464, in start_caosdb
    raise RuntimeError(
        "`docker exec` command to install server-side scripting packages failed.")
RuntimeError: `docker exec` command to install server-side scripting packages failed.

Steps to Reproduce the Problem

  1. Add a package installed via git to your profile's scripting section, e.g.
    scripting:
      packages:
        caosdb-crawler:
          mode: "pip"
          package: "git+https://gitlab.indiscale.com/caosdb/src/caosdb-crawler.git@dev"
  2. Start linkahead 0.15.0

Specifications

  • Version: LinkAhead 0.15.0
  • Platform: any

Possible fixes

Add git installation to image.

Workaround

Use mode: copy or install packages from PyPI.