version: "3.8"
services:
jenkins:
image: jenkins/jenkins:lts
privileged: true
user: root
ports:
- "8080:8080"
- "50000:50000"
container_name: jenkins
volumes:
- jenkins-data:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
volumes:
jenkins-data:docker-compose up -d
vm.max_map_count=524288
fs.file-max=13107
sudo sysctl -p
version: "1"
services:
sonarqube:
image: sonarqube:community
depends_on:
- db
environment:
SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: sonar
volumes:
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_logs:/opt/sonarqube/logs
ports:
- "9000:9000"
db:
image: postgres:12
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
volumes:
- postgresql:/var/lib/postgresql
- postgresql_data:/var/lib/postgresql/data
volumes:
sonarqube_data:
sonarqube_extensions:
sonarqube_logs:
postgresql:
postgresql_data:docker-compose up -d
- LXC container with ubuntu / docker installed
- Portainer installed for docker management
-
Run the docker-compose.yml or run it as a stack in portainer.
-
Bash into the MySQL database for user and table configuration.
-
Log into the SQL terminal
mysql -u root -p -
Execute following commands in order
CREATE DATABASE guacamole_db;
CREATE USER 'guacamole_user'@'%' IDENTIFIED BY 'pass';
GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'%';
FLUSH PRIVILEGES;
SELECT USER FROM mysql.user;`
- On the Host machine or the VM (Via Proxmox Shell if using Proxmox) execute the following commands to generate the SQL tables and copy the stricts over to the container.
docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql
sudo docker cp ./initdb.sql guac-sql:/initdb.sql
- Again from inside the MySQL database server, Run the following commands.
USE guacamole_db;
source ./initdb.sql
YouTube: Setup Apache Guacamole with Docker in 2024
Apache Guacamole: Installing Guacamole with Docker