---
title: Apache Guacamole
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, remote-access, rdp, vnc, ssh, html5, gateway, apache]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Remote+Access, https://github.com/apache/guacamole-server]
---

# 🌐 Apache Guacamole

> Référence incontournable : passerelle HTML5 multi-protocoles (RDP, VNC, SSH, Telnet, Kubernetes) 100% navigateur.

## 📋 Informations Générales

| Attribut | Valeur |
|----------|--------|
| **Nom** | Apache Guacamole |
| **Slug** | guacamole |
| **Description** | Gateway clientless pour RDP, VNC, SSH, Telnet depuis un navigateur |
| **Site officiel** | https://guacamole.apache.org |
| **Repository** | https://github.com/apache/guacamole-server |
| **Stars** | 3 856 ⭐ |
| **Licence** | Apache-2.0 |
| **Langage principal** | Java / C |
| **Catégorie** | Remote Access |
| **Tags** | [catalogue, remote-access, rdp, vnc, ssh, html5, gateway, apache] |

## 📝 Description
Apache Guacamole est **la** passerelle de remote access en self-hosted : un projet de la Fondation Apache, mature depuis 2010, utilisé aussi bien par des homelabs que par de grandes entreprises. Sa promesse est simple — **accéder à n'importe quelle machine (RDP, VNC, SSH, Telnet, Kubernetes) depuis un simple navigateur**, sans installer de client.

L'architecture est en deux parties : `guacd` (proxy C qui parle les protocoles) et le **client web** (HTML5/JavaScript). L'authentification passe par une base de données (MySQL/PostgreSQL) et supporte LDAP, RADIUS, TOTP, header auth (reverse proxy SSO). C'est la solution de référence pour unifier l'accès à un parc hétérogène derrière une seule URL HTTPS.

## 🚀 Installation
### Via Docker (recommandé)
```yaml
# docker-compose.yml
services:
  guacd:
    image: guacamole/guacd:latest
    container_name: guacd
    restart: unless-stopped

  postgres:
    image: postgres:16-alpine
    container_name: guacamole-db
    restart: unless-stopped
    environment:
      POSTGRES_DB: guacamole_db
      POSTGRES_USER: guacamole
      POSTGRES_PASSWORD: ChangeMe!
    volumes:
      - ./db:/var/lib/postgresql/data

  guacamole:
    image: guacamole/guacamole:latest
    container_name: guacamole
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      GUACD_HOSTNAME: guacd
      POSTGRES_HOSTNAME: postgres
      POSTGRES_DATABASE: guacamole_db
      POSTGRES_USER: guacamole
      POSTGRES_PASSWORD: ChangeMe!
    depends_on:
      - guacd
      - postgres
```

### Installation manuelle
`guacd` doit être compilé (paquets Debian/Ubuntu `guacd` disponibles), le webapp déployé en WAR dans Tomcat, schéma SQL importé.

## ⚙️ Configuration
- **Connexions** définies par admin, regroupables, avec partage de credentials.
- Authentification : locale, **LDAP/AD**, **RADIUS**, **TOTP**, **header** (Authelia, Authentik).
- **Groupes** et **permissions** fines par utilisateur.
- **Transfert de fichiers** SFTP/SCP/clipboard partagé selon protocole.
- **Enregistrement de session** via extensions MySQL.

## 🔗 Alternatives
- **MeshCentral** — orienté remote management avec agent.
- **Nexterm** — plus moderne mais moins de protocoles.
- **Warpgate** — bastion zero-trust, plus axé sécurité.
- **Sshwifty / WeTTY** — strictement SSH/Telnet web.

## 🔒 Sécurité
- **MFA TOTP** intégrée, SSO via header reverse-proxy (Authelia/Authentik).
- **Audit log** complet, extensible.
- **Pas d'agent** sur les machines cibles, mais un proxy sur le serveur.
- Apache 2.0, code audité, projet très suivi côté sécurité.

## 📚 Ressources
- Site officiel : https://guacamole.apache.org
- Documentation : https://guacamole.apache.org/doc/guacamole-architecture
- Tutoriels Docker : https://github.com/apache/guacamole-docker

## 🔗 Pages Liées
- [[cat-remote-access]]
- [[app-meshcentral]] — alternative avec agent
- [[app-warpgate]] — bastion zero-trust
- [[app-nexterm]] — hub moderne
- [[app-traefik]]
- [[securisation-home-lab]]
- [[recettes-docker-compose]]
