Skip to content

linuxserver/docker-mods

 
 

Repository files navigation

Package Install - Universal Docker mod

Using this mod you can install any OS or Python packages during startup by providing them through the environment variables INSTALL_PACKAGES and INSTALL_PIP_PACKAGES. These are then passed into the installation commands as such: apt-get install -y --no-install-recommends ... in Ubuntu and apk add --no-cache ... in Alpine based images for OS packages and pip install ... for python packages.

To enable, in docker container arguments, set an environment variable DOCKER_MODS=linuxserver/mods:universal-package-install and env vars INSTALL_PACKAGES and/or INSTALL_PIP_PACKAGES

If adding multiple mods, enter them in an array separated by |, such as DOCKER_MODS=linuxserver/mods:universal-package-install|linuxserver/mods:universal-stdout-logs.

Similarly, for installing multiple packages separate them by |. E.g., to install rsync, git and nginx OS packages and apprise python package, add the following lines to your docker compose service:

- DOCKER_MODS=linuxserver/mods:universal-package-install
- INSTALL_PACKAGES=rsync|git|nginx
- INSTALL_PIP_PACKAGES=apprise

Notes:

  • Package names entered should match the names in the relevant distro repo: https://pkgs.alpinelinux.org/packages or https://packages.ubuntu.com/
  • To install a specific version of a package include it in the name e.g. apprise==1.10.0. Note that apt requires a single =, while apk and pip use double ==.
  • Setting the env var INSTALL_PIP_PACKAGES will result in automatic install of the python3-dev and python3-pip OS packages, updating of pip to the latest version and installation of the latest setuptools and wheel packages to set up the necessary environment.
  • Any other OS dependency such as make or git, which may be needed by the pip install process, should be manually added to INSTALL_PACKAGES.
  • The OS packages defined will be installed first, followed by the pip packages.
  • Pip will also use the relevant linuxserver wheel repo as an additional index to pull prebuilt wheels for common packages (ie. https://wheel-index.linuxserver.io/ubuntu/ and https://wheel-index.linuxserver.io/alpine-3.16/).

About

Documentation and Examples of base container modifications

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

1.5k stars

Watchers

25 watching

Forks

Releases

No releases published

Sponsor this project

  •  

Packages

 
 
 

Contributors