diff options
Diffstat (limited to 'packaging/installer/methods/offline.md')
-rw-r--r-- | packaging/installer/methods/offline.md | 84 |
1 files changed, 31 insertions, 53 deletions
diff --git a/packaging/installer/methods/offline.md b/packaging/installer/methods/offline.md index 53390c71b..5e92976e0 100644 --- a/packaging/installer/methods/offline.md +++ b/packaging/installer/methods/offline.md @@ -6,75 +6,53 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/instal # Install Netdata on offline systems -The Netdata Agent installs on offline or air gapped systems with a few additional steps. +Our kickstart install script provides support for installing the Netdata Agent on systems which do not have a +usable internet connection by prefetching all of the required files so that they can be copied to the target system. +Currently, we only support using static installs with this method. There are tentative plans to support building +locally on offline systems as well, but there is currently no estimate of when this functionality may be implemented. -By default, the `kickstart.sh` and `kickstart-static64.sh` download Netdata assets, like the precompiled binary and a -few dependencies, using the system's internet connection, but the Agent installer can also use equivalent files already -present on the local filesystem. +Users who wish to use native packages on offline systems may be able to do so using whatever tooling their +distribution already provides for offline package management (such as `apt-offline` on Debian or Ubuntu systems), +but this is not officially supported. -First, download the required files. If you're using `kickstart.sh`, you need the Netdata tarball, the checksums, the -go.d plugin binary, and the go.d plugin configuration. If you're using `kickstart-static64.sh`, you need only the -Netdata tarball and checksums. +## Preparing the offline installation source -Download the files you need to a system of yours that's connected to the internet. Use the commands below, or visit the -[latest Netdata release page](https://github.com/netdata/netdata/releases/latest) and [latest go.d plugin release -page](https://github.com/netdata/go.d.plugin/releases) to download the required files manually. +The first step to installing Netdata on an offline system is to prepare the offline installation source. This can +be as a regular user from any internet connected system that has the following tools available: -**If you're using `kickstart.sh`**, use the following commands: +- cURL or wget +- sha256sum or shasum +- A standard POSIX compliant shell -```bash -cd /tmp - -curl -s https://my-netdata.io/kickstart.sh > kickstart.sh - -# Netdata tarball -curl -s https://api.github.com/repos/netdata/netdata/releases/latest | grep "browser_download_url.*tar.gz" | cut -d '"' -f 4 | wget -qi - - -# Netdata checksums -curl -s https://api.github.com/repos/netdata/netdata/releases/latest | grep "browser_download_url.*txt" | cut -d '"' -f 4 | wget -qi - +To prepare the offline installation source, simply run: -# Netdata dependency handling script -wget -q - https://raw.githubusercontent.com/netdata/netdata/master/packaging/installer/install-required-packages.sh - -# go.d plugin -# For binaries for OS types and architectures not listed on [go.d releases](https://github.com/netdata/go.d.plugin/releases/latest), kindly open a github issue and we will do our best to serve your request -export OS=$(uname -s | tr '[:upper:]' '[:lower:]') ARCH=$(uname -m | sed -e 's/i386/386/g' -e 's/i686/386/g' -e 's/x86_64/amd64/g' -e 's/aarch64/arm64/g' -e 's/armv64/arm64/g' -e 's/armv6l/arm/g' -e 's/armv7l/arm/g' -e 's/armv5tel/arm/g') && curl -s https://api.github.com/repos/netdata/go.d.plugin/releases/latest | grep "browser_download_url.*${OS}-${ARCH}.tar.gz" | cut -d '"' -f 4 | wget -qi - - -# go.d configuration -curl -s https://api.github.com/repos/netdata/go.d.plugin/releases/latest | grep "browser_download_url.*config.tar.gz" | cut -d '"' -f 4 | wget -qi - +```bash +wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh --prepare-offline-install-source ./netdata-offline ``` -**If you're using `kickstart-static64.sh`**, use the following commands: +or ```bash -cd /tmp - -curl -s https://my-netdata.io/kickstart-static64.sh > kickstart-static64.sh - -# Netdata static64 tarball -curl -s https://api.github.com/repos/netdata/netdata/releases/latest | grep "browser_download_url.*gz.run" | cut -d '"' -f 4 | wget -qi - - -# Netdata checksums -curl -s https://api.github.com/repos/netdata/netdata/releases/latest | grep "browser_download_url.*txt" | cut -d '"' -f 4 | wget -qi - +curl https://my-netdata.io/kickstart.sh > /tmp/netdata-kickstart.sh && sh /tmp/netdata-kickstart.sh --prepare-offline-install-source ./netdata-offline ``` -Move downloaded files to the `/tmp` directory on the offline system in whichever way your defined policy allows (if -any). +> The exact name used for the directory does not matter, you can specify any other name you want in place of `./netdata-offline`. -Now you can run either the `kickstart.sh` or `kickstart-static64.sh` scripts using the `--local-files` option. This -option requires you to specify the location and names of the files you just downloaded. +This will create a directory called `netdata-offline` in the current directory and place all the files required for an offline install in it. -> When using `--local-files`, the `kickstart.sh` or `kickstart-static64.sh` scripts won't download any Netdata assets -> from the internet. But, you may still need a connection to install dependencies using your system's package manager. -> The scripts will warn you if your system doesn't have all the dependencies. +If you want to use a specific release channel (nightly or stable), it _must_ be specified on this step using the +apporpriate option for the kickstart script. -```bash -# kickstart.sh -bash kickstart.sh --local-files /tmp/netdata-(version-number-here).tar.gz /tmp/sha256sums.txt /tmp/go.d.plugin-(version-number-here).(OS)-(architecture).tar.gz /tmp/config.tar.gz /tmp/install-required-packages.sh +## Installing on the target system -# kickstart-static64.sh -bash kickstart-static64.sh --local-files /tmp/netdata-(version-number-here).gz.run /tmp/sha256sums.txt -``` +Once you have prepared the offline install source, you need to copy the offline install source directory to the +target system. This can be done in any manner you like, as long as filenames are not changed. + +After copying the files, simply run the `install.sh` script located in the +offline install source directory. It accepts all the [same options as the kickstart +script](/packaging/installer/methods/kickstart.md#optional-parameters-to-alter-your-installation) for further +customization of the installation, though it will default to not enabling automatic updates (as they are not +supported on offline installs). ## What's next? |