-
Notifications
You must be signed in to change notification settings - Fork 67
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' of https://github.com/MaxWaldorf/guacamole into main
- Loading branch information
Showing
1 changed file
with
86 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,86 @@ | ||
# arm64-guacamole | ||
[![Docker Automated](https://img.shields.io/docker/automated/maxwaldorf/guacamole)](https://hub.docker.com/r/maxwaldorf/guacamole/) [![Docker Build Status](https://img.shields.io/docker/build/maxwaldorf/guacamole)](https://hub.docker.com/r/maxwaldorf/guacamole/) [![Docker Pulls](https://img.shields.io/docker/pulls/maxwaldorf/guacamole.svg)](https://hub.docker.com/r/maxwaldorf/guacamole/) | ||
|
||
# Docker Guacamole | ||
|
||
**Disclaimer:** This work is based on the work of: https://github.com/oznu/docker-guacamole | ||
|
||
A Docker Container for [Apache Guacamole](https://guacamole.apache.org/), a client-less remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH over HTML5. | ||
|
||
This image will run on most platforms that support Docker including Docker for arm64 boards (Raspberry ARM64v8 on an 64bit OS). | ||
|
||
This container runs the guacamole web client, the guacd server and a postgres database. | ||
|
||
## Usage (works for x86_64 and arm64v8, no support for 32 bits) | ||
|
||
```shell | ||
docker run \ | ||
-p 8080:8080 \ | ||
-v </path/to/config>:/config \ | ||
maxwaldorf/guacamole | ||
``` | ||
|
||
## Parameters | ||
|
||
The parameters are split into two halves, separated by a colon, the left hand side representing the host and the right the container side. | ||
|
||
* `-p 8080:8080` - Binds the service to port 8080 on the Docker host, **required** | ||
* `-v /config` - The config and database location, **required** | ||
* `-e EXTENSIONS` - See below for details. | ||
|
||
## Enabling Extensions | ||
|
||
Extensions can be enabled using the `-e EXTENSIONS` variable. Multiple extensions can be enabled using a comma separated list without spaces. | ||
|
||
For example: | ||
|
||
```shell | ||
docker run \ | ||
-p 8080:8080 \ | ||
-v </path/to/config>:/config \ | ||
-e "EXTENSIONS=auth-ldap,auth-duo" | ||
maxwaldorf/guacamole | ||
``` | ||
|
||
Currently the available extensions are: | ||
|
||
* auth-ldap - [LDAP Authentication](https://guacamole.apache.org/doc/gug/ldap-auth.html) | ||
* auth-duo - [Duo two-factor authentication](https://guacamole.apache.org/doc/gug/duo-auth.html) | ||
* auth-header - [HTTP header authentication](https://guacamole.apache.org/doc/gug/header-auth.html) | ||
* auth-cas - [CAS Authentication](https://guacamole.apache.org/doc/gug/cas-auth.html) | ||
* auth-openid - [OpenID Connect authentication](https://guacamole.apache.org/doc/gug/openid-auth.html) | ||
* auth-totp - [TOTP two-factor authentication](https://guacamole.apache.org/doc/gug/totp-auth.html) | ||
* auth-quickconnect - [Ad-hoc connections extension](https://guacamole.apache.org/doc/gug/adhoc-connections.html) | ||
|
||
You should only enable the extensions you require, if an extensions is not configured correctly in the `guacamole.properties` file it may prevent the system from loading. See the [official documentation](https://guacamole.apache.org/doc/gug/) for more details. | ||
|
||
## Default User | ||
|
||
The default username is `guacadmin` with password `guacadmin`. | ||
|
||
## Windows-based Docker Hosts | ||
|
||
Mapped volumes behave differently when running Docker for Windows and you may encounter some issues with PostgreSQL file system permissions. To avoid these issues, and still retain your config between container upgrades and recreation, you can use the local volume driver, as shown in the `docker-compose.yml` example below. When using this setup be careful to gracefully stop the container or data may be lost. | ||
|
||
```yml | ||
version: "2" | ||
services: | ||
guacamole: | ||
image: maxwaldorf/guacamole | ||
container_name: guacamole | ||
volumes: | ||
- postgres:/config | ||
ports: | ||
- 8080:8080 | ||
volumes: | ||
postgres: | ||
driver: local | ||
``` | ||
## License | ||
(Based on OZNU choice GPLv3) | ||
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. | ||
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the [GNU General Public License](./LICENSE) for more details. | ||