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,