Install from an offline location#
Offline installation#
Create a local mirror of all the necessaery assets and resources to carry out an offline Intelligence Center (IC) installation.
About mirroring#
You may need to install the IC in an air-gapped environment with no internet access. To carry out an offline installation, first make sure you mirror our package repositories: make a full copy of our repositories, and make them available within your private network.
There are open source, community-supported tools to mirror
package repositories. For example:
reposync
for
CentOS/RHEL.
For more information about installing, setting up, and using these tools, refer to their official documentation.
What to mirror#
You need to create mirrors of the following repositories:
EclecticIQ Intelligence Center repositories.
Official CentOS/RHEL repositories the Intelligence Center runs on.
Our packages depend on resources available on these repositories.
Set up a repository mirror#
Setting up a repository mirror is a quick and simple alternative to creating local mirror copies of Linux distribution repositories. However, this suggestion may not be robust enough for your production environment.
Mirror a repository#
The following example describes how to set up a repository
mirror with wget
and a shell snippet.
The shell snippet downloads all the necessary assets and
resources from our download portal.
The machine the shell snippet runs on must have Internet
access. After downloading the resources, you can move them
to your internal network using a shared file drive, or a
tool such as rsync
.
Alternatively, you can disconnect the machine from the
internet after completing the download operation.
To download the necessary resources from our download portal:
Make sure that
wget
is installed on the machine you are using to download the resources.Then, run the following shell snippet as either
root
user, or any other user with write access to the/srv
directory:
distro=centos # depending on the distro you are mirroring
cd /srv
wget -r --user=example@eclecticiq --ask-password --mirror --convert-links -erobots=off \
https://downloads.eclecticiq.com/platform-packages-$distro/ \
https://downloads.eclecticiq.com/platform-dependencies-$distro-2.9/ \
https://downloads.eclecticiq.com/platform-rundoc/ \
https://downloads.eclecticiq.com/platform-binary-deps/ \
https://downloads.eclecticiq.com/Extensions/ \
https://downloads.eclecticiq.com/public/ \
https://downloads.eclecticiq.com/intelligence-center-dependencies-rpm/
find /srv/downloads.eclecticiq.com -name index.html -rm
Run again the same shell snippet every time you want to pull in new and/or updated packages from our repositories.
After downloading the resources, make them available in your internal network:
Set up a web server, for example using Nginx, and point it to the
/srv/downloads.eclecticiq.com
directory.The following example can seve as guidelines for a basic Nginx configuration. The configuration file is stored in the Nginx enabled site directory.
For example:/etc/nginx/sites-enabled/eclecticiq-repo-mirror.conf
:
server {
server_name eclecticiq-repo-mirror.example.local;
listen 80;
root /srv/downloads.eclecticiq.com;
autoindex on;
}
Use your internal repository mirror#
If the repository mirror is set up correctly, and if your
DNS records point eclecticiq-repo-mirror.example.local
to
the IP of the machine where the repository mirror web server
is running, you should be able to use
eclecticiq-repo-mirror.example.local
instead of
downloads.eclecticiq.com
when setting up EclecticIQ
Intelligence Center repositories.
The following example uses the official installation script to retrieve assest and resources from your repository mirror:
wget http://eclecticiq-repo-mirror.example.local/platform-rundoc/eclecticiq-install-2.14.x-99.sh
chmod +x eclecticiq-install-2.14.x-99.sh
./eclecticiq-install-2.14.x-99.sh --offline http://eclecticiq-repo-mirror.example.local
You can point to your repository mirror also to retrieve the
packages to install extensions.
Example:
/opt/eclecticiq-platform-backend/bin/pip install -f http://eclecticiq-repo-mirror.example.local/Extensions eclecticiq-extension-crowdstrike