Added some guac stuff

This commit is contained in:
Ash Leece 2020-06-25 16:14:03 +00:00
parent d692e2a715
commit d9211d037c
4 changed files with 114 additions and 48 deletions

2
guacamole/.env.example Executable file
View File

@ -0,0 +1,2 @@
POSTGRES_USER=dbuser
POSTGRES_PASSWORD=dbpassword1234

21
guacamole/LICENSE Executable file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2019 Reisbel Machado
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

48
guacamole/README.md Executable file
View File

@ -0,0 +1,48 @@
# docker-compose for Apache Guacamole
Run [Apache Guacamole](https://guacamole.apache.org/) with docker containers using docker-compose, based on the [Official Documentation](https://guacamole.apache.org/doc/gug/guacamole-docker.html)
## Steps
Clone repository
```bash
git clone https://github.com/reisbel/guacamole-docker-compose.git && cd guacamole-docker-compose
```
Edit .env, changing the username and password for postgres database.
```bash
vim .env
```
```cfg
//.env
POSTGRES_USER=new_postgres_username
POSTGRES_PASSWORD=new_secure_postgres_password
```
Seed postgres database
```bash
docker-compose up init-guacamole-db
```
Start everything
```bash
docker-compose up -d
```
Guacamole is now listening on port 8080
default username: guacadmin
default password: guacadmin
Be sure to change the default password.
## Guacamole Manual
https://guacamole.apache.org/doc/gug/
## License
MIT - See [LICENSE](LICENSE) for more information.

91
guacamole/docker-compose.yml Normal file → Executable file
View File

@ -1,50 +1,45 @@
version: '2'
version: "3"
services:
init-guacamole-db:
image: guacamole/guacamole:latest
command: ["/bin/sh", "-c", "test -e /init/initdb.sql && echo 'init file already exists' || /opt/guacamole/bin/initdb.sh --postgres > /init/initdb.sql" ]
volumes:
- dbinit:/init
postgres:
image: postgres:latest
restart: unless-stopped
volumes:
- dbinit:/docker-entrypoint-initdb.d
- dbdata:/var/lib/postgresql/data
environment:
POSTGRES_USER: ${POSTGRES_USER:-guacdb}
POSTGRES_PASSWORD:
depends_on:
- init-guacamole-db
guacd:
image: guacamole/guacd:latest
restart: unless-stopped
guac:
image: guacamole/guacamole:latest
restart: unless-stopped
ports:
- "8005:8080"
environment:
GUACD_HOSTNAME: guacd
POSTGRES_HOSTNAME: postgres
POSTGRES_DATABASE: ${POSTGRES_USER:-guacdb}
POSTGRES_USER: ${POSTGRES_USER:-guacdb}
POSTGRES_PASSWORD:
depends_on:
- postgres
- guacd
volumes:
guacd_data:
guacd_conf:
guac_data:
guac_conf:
db:
services:
guacd:
image: guacamole/guacd
restart: always
volumes:
- guac_data:/data
- guac_conf:/conf:ro
ports:
- 4822:4822
guacamole:
image: guacamole/guacamole
restart: always
volumes:
- guac_data:/data
- guac_conf:/conf:ro
ports:
- 8084:8080
links:
- guacd
- db
environment:
- GUACD_HOSTNAME=guacd
- GUACD_PORT=4822
- MYSQL_HOSTNAME=db
- MYSQL_PORT=3306
- MYSQL_DATABASE=guacamole
- MYSQL_USER=guacamole
- MYSQL_PASSWORD=Wy4zLv7y
- GUACAMOLE_HOME=/data
db:
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=Wy4zLv7y
- MYSQL_PASSWORD=Wy4zLv7y
- MYSQL_DATABASE=guacamole
- MYSQL_USER=guacamole
dbinit:
driver: local
dbdata:
driver: local