/
Install IguanaX in Docker
Install IguanaX in Docker
With the pre-built IguanaX Linux Installation Script, it is fairly straight forward to install IguanaX as Docker container. Before starting, see Understanding Docker.
How to Create and Run IguanaX in Docker:
Other Considerations:
Dockerfile Sample
Note: Depending on your linux flavour, you may need to update the Docker Image and Installation commands.
# Use the Red Hat UBI (Universal Base Image)
FROM registry.access.redhat.com/ubi8/ubi
# Set the TERM environment variable
ENV TERM xterm
# Install necessary packages: wget, curl, git, coreutils, and sudo
RUN yum install -y wget curl git coreutils sudo --allowerasing && \
yum clean all && \
# Create a non-root user and group, and add to the wheel group for sudo access
useradd -ms /bin/bash iguanauser && \
usermod -aG wheel iguanauser && \
# Allow the wheel group to use sudo without a password
echo '%wheel ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
# Copy the bash script into the container and set the correct permissions
COPY --chown=iguanauser:iguanauser install_iguana.sh /home/iguanauser/install_iguana.sh
RUN chmod +x /home/iguanauser/install_iguana.sh
# Switch to the non-root user and set the working directory
USER iguanauser
WORKDIR /home/iguanauser
# Execute the script
CMD ["bash", "./install_iguana.sh"]
install_iguana.sh Sample
Notes:
This sample downloads IguanaX v10.1.103. The Linux Installation Script from: https://downloads.interfaceware.com/iguanax/ can be updated from line 4 - 62.
You will need to update admin password on line 68 (replace ADMIN_PASSWORD)
#!/bin/bash
# ---- PASTE IGUANAX LINUX SCRIPT HERE *START* ----
function main {
clear;
if [[ "$(uname)" == "Darwin" ]]; then
echo "Sorry this is not a linux machine - it's Mac OS computer.";
echo "See: https://interfaceware.atlassian.net/wiki/spaces/IXB/pages/2634776607/";
echo "For step by step instructions on how to get a linux machine.";
return;
fi
if [[ -e iguana ]]; then
echo "The file 'iguana' already exists.";
echo "Either remove it (rm iguana), rename (mv iguana iguana_old) it or do this install";
echo "in another place.";
return;
fi;
# Check for wget or curl
if which wget > /dev/null 2>&1; then
WFETCH="wget -q -O ";
elif which curl > /dev/null 2>&1; then
WFETCH="curl -s -o ";
else
echo "Neither wget nor curl is available.";
echo "Please install them.";
return;
fi;
G=2.32;
# Determine architecture and download
if [[ $(uname -m) =~ ^(arm|aarch) ]]; then
printf "Downloading ARM binary...";
$WFETCH iguana https://downloads.interfaceware.com/downloads/10.1.103/linux/iguana-Arm;
G=2.32;
echo "";
else
printf "Downloading Intel binary...";
$WFETCH iguana https://downloads.interfaceware.com/downloads/10.1.103/linux/iguana;
G=2.26;
echo "";
fi;
chmod +x iguana;
Y=$(ldd --version | head -n 1 | awk '{print $NF}');
Y_int=${Y//./};
G_int=${G//./};
if [ "$Y_int" -lt "$G_int" ]; then
printf "Your current version of GLIBC is $Y, which is below the required ";
echo $G;
echo -e "PLEASE READ: https://interfaceware.atlassian.net/wiki/spaces/IXB/pages/2631434293/";
return;
fi;
}
main;
# ---- PASTE IGUANAX LINUX SCRIPT HERE *END* ----
# Create .IguanaX folder and configurations subFolder
echo "Make or copy IguanaX configurations"
mkdir -p ~/.IguanaX/config
# Install Iguana service
echo "Installing Iguana as a runtime with default password..."
./iguana --set_admin_password ADMIN_PASSWORD
./iguana --run
, multiple selections available,
Related content
Install multiple Iguanas on a single server
Install multiple Iguanas on a single server
More like this
IguanaX Current and Next Focus
IguanaX Current and Next Focus
Read with this
Programmatically get an Iguana ID
Programmatically get an Iguana ID
More like this
Network Access - where Iguana needs to connect
Network Access - where Iguana needs to connect
More like this
Understanding Docker
Understanding Docker
More like this
Mac OS X Installation
Mac OS X Installation
More like this