# subscription-manager register
# subscription-manager attach --auto
# yum update
# yum install cairo-devel libjpeg-turbo-devel libjpeg-devel libpng-devel libtool libuuid-devel uuid-devel
# yum install ffmpeg-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel libwebsockets-devel openssl-devel libwebp-devel
# git clone git@github.com:apache/guacamole-server.git
# cd guacamole-server/
# autoreconf -fi
# and now we find all the missing redhat 7 packages
At this point I looked for the Redhat7 docker rpm to download and did not find it. Decided life was too short and went the easy route with a clean debian machine.
Prereqs and Docker install
https://docs.docker.com/engine/install/debian/
apt-get remove docker docker-engine docker.io containerd runc
apt-get install ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io
Database Creation and Init
https://guacamole.apache.org/doc/gug/guacamole-docker.html#
docker run -d --name some-mysql -e MYSQL_ROOT_PASSWORD="xxxxx" -p 3306:3306 mysql
mysql -p -u root -h <ip address> not sure why local host would not work
MySQL [(none)]> create database guacamole_db;
MySQL [(none)]> use guacamole_db;
MySQL [guacamole_db]> CREATE USER 'guacamole_user'@'%' IDENTIFIED BY 'xxxx';
MySQL [guacamole_db]> GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES, RELOAD on *.* TO 'guacamole_user'@'%' WITH GRANT OPTION;
MySQL [guacamole_db]> flush privileges;
MySQL [guacamole_db]> EXIT;
docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql
mysql -p -u guacamole_user -h 10.40.2.110 guacamole_db < initdb.sql
Run guacd container and guacamole container
docker run --name some-guacd -d guacamole/guacd
docker run -d --name some-guacamole --link some-guacd:guacd --link some-mysql:mysql -e MYSQL_DATABASE=guacamole_db -e MYSQL_USER=guacamole_user -e MYSQL_PASSWORD=xxxx -p 8080:8080 guacamole/guacamole
Check
root@docker1:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8efa35b0829a guacamole/guacamole "/opt/guacamole/bin/…" 30 minutes ago Up 30 minutes 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp some-guacamole
80a5bd80f893 mysql "docker-entrypoint.s…" About an hour ago Up About an hour 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp some-mysql
adbd3d22ff6d guacamole/guacd "/bin/sh -c '/usr/lo…" 3 hours ago Up 3 hours (healthy) 4822/tcp some-guacd