2.8 KiB
dockercompose-guacamole-for-msp-remoteadmin
Overview
This project is an adapted version of Docker Compose for use with the MSP Remoteadmin application, based on Apache Guacamole. It provides a solution for remote administration with web-based access to desktops and servers.
The image was adapted to provide a service for automating connections made by Frappe through the MSP Remoteadmin application
For this, the Guacamole AD-Hoc extension was used (which does not come in the default image of the Guacamole project)
Requirements
- Docker
- Docker Compose
- Git
- Debian 12
Repository structure
- docker-compose.yml: File that defines the services that will be used in the project
- docker-guacamole-custom: Folder that contains the Dockerfile and the configuration files for the Guacamole service
- docker-monitor: Folder that contains the Dockerfile and the configuration files for the Monitor service
Monitor Service
The Monitor service is a simple script written in Python that monitors the Guacamole GUACD logging and filter informations about the connections made by the MSP Remoteadmin application and sends them to the Frappe application for historical purposes and auditing.
Monitor Service Configuration
monitor_service:
container_name: monitor_service
build: ./docker-monitor
restart: unless-stopped
environment:
FRAPPE_URL: "https://frappe.website.com" # You need to change this to your Frappe URL
volumes:
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- guacd
Installation
- Clone the repository
git clone https://git.labexposed.com/itsdave/dockercompose-guacamole-for-msp-remoteadmin.git
cd dockercompose-guacamole-for-msp-remoteadmin
- Grab the latest sql info from the latest images
docker run --rm guacamole/guacamole:1.5.5 /opt/guacamole/bin/initdb.sh --mysql > initdb.sql
- Run the composer file with DB configuration to initialize the database
docker-compose -f composer-db.yml up -d
- Next you need to copy the SQL file into the docker database container and load the file into the MariaDB database
docker cp initdb.sql guacamole_db:/initdb.sql
docker exec -i guacamole_db mysql -u root -p"$MYSQL_ROOT_PASSWORD" guacamole_db < /initdb.sql
- Turn off the database container
docker-compose -f composer-db.yml down -v
- Now you can start the services
docker-compose up --build -d
How do I access Guacamole?
Very simple just open your browser and put in your Guacamole IP with port 8080
For example: http://mylocalip.home:8080/guacamole <- guacamole cant be access via root directory, so you will have to add /guacamole.
The original username/password are guacadmin/guacadmin