🚀 One-Line installers for Tools and Applications
Installer64 is a collection of one-line installers designed to quickly deploy tools and applications in ephemeral environments (containers, CI/CD runners, etc.), and regular operating systems.
- Bash V4: used by installer scripts.
- Sudo: most installers will require privileged execution. Used if not already running as root.
- Curl or Wget, Tar and GZip: used to download and unpack Installer64 and BashLib64
Install directly from the repository:
curl -sL https://raw.githubusercontent.com/automation64/installer64/main/src/bootstrap | sh- Select a tool installer from:
/opt/installer64 - (Optional) Customize installation parameters.
- Run the system-wide installer:
sudo -E /opt/installer64/install-APPLICATION_NAME- Or the user-wide installer:
/opt/installer64/install-APPLICATION_NAMEInstaller64 is configured by default to use the following standard directory structure:
- System-wide installations:
/opt: base destination for installations/opt/<APPLICATION>: application installation directory./usr/local/bin: standard searchable path where application binaries are published to
- User-wide installations:
$HOME/at64: base destination for installations$HOME/at64/<APPLICATION>: application installation directory.$HOME/.local/bin: standard searchable path where application binaries are published to
Installer64 scripts can be customized using the following parameters as shell environment variables:
INST64_BASHLIB64: Bashlib64 location. Default:/opt/bl64INST64_CLI_PROMOTE: Create symlink to searchable path?. Default:YESINST64_DEBUG: Enable script debugging?. Default:NOINST64_LOCAL_BIN: Searchable path for system-wide executables. Default:/usr/local/binINST64_LOCAL_ROOT: Linux well-known base path for local content. Default:/usr/localINST64_OPT_ROOT: Linux well-known base path for non-os packaged content. Default:/optINST64_REFRESH_PACKAGE_MANAGER: Refresh package manager before installation and cleanup after?. Default:YESINST64_REPLACE_INSTALLED: Replace if already installed?. Default:NOINST64_SYSTEM_WIDE: Install system wide?. Default:YESif running as root,NOotherwise.INST64_USER_BIN: Searchable path for user-wide executables. Default:${HOME}/.local/bin
Additional parameters are available depending on the installation method.
Parameter name format: INST64_<INSTALLER_NAME>_<PARAMETER_NAME>
Common parameters:
INST64_<INSTALLER_NAME>_METHOD: Installation method.INST64_<INSTALLER_NAME>_PLATFORM: Hardware platform (e.g., linux_amd64).INST64_<INSTALLER_NAME>_TARGET: Full path to installation destination.INST64_<INSTALLER_NAME>_VERSION: Target application version in semver format (x.y.z).
Installer64 implements the optimal installation method for each application:
BINARY: Pre-compiled binary downloadBREW: HomeBrew packageFPAK: FlatPak package (system-wide installation)KREW: Krew (KubeCTL plugin) package (user-wide installation)NATIVE: OS standard packages (RPM for RHEL, DEB for Debian/Ubuntu)NPM: NodeJS module (user-wide installation)PIP: Python module - used whenPIPXunavailable (user-wide installation)PIPX: Python module (user-wide installation)
Contributions are welcome! Help us improve by submitting issues, feature requests, or pull requests.
Installer64 is licensed under the Apache-2.0 License.
🌟 If you find this project useful, consider giving it a star! ⭐