---
title: "Deploy Apache Guacamole"
description: "Clientless remote desktop gateway for protocols like VNC, RDP, and SSH"
category: "Other"
url: https://railway.com/deploy/apache-guacamole
---

# Deploy Apache Guacamole

Clientless remote desktop gateway for protocols like VNC, RDP, and SSH

**[Deploy Apache Guacamole on Railway](https://railway.com/template/apache-guacamole)**

- **Creator:** decoge
- **Category:** Other
- **Total deploys:** 61

## Template content

### Postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:17

### guacd

- **Image:** guacamole/guacd

### guacamole-railway

- **Source:** https://github.com/decoge/guacamole-railway
- **Public domain:** Yes

## Documentation

# Deploy and Host Apache Guacamole on Railway

Apache Guacamole is a clientless remote desktop gateway that lets you access servers and desktops directly from your browser using protocols like RDP, VNC, and SSH without installing any client software.

## About Hosting Apache Guacamole

Hosting Apache Guacamole involves running the Guacamole web application alongside `guacd`, the proxy daemon responsible for handling remote desktop protocols, and a database for authentication and configuration storage. This template deploys Guacamole with PostgreSQL authentication, using Railway’s managed networking to securely connect services internally. Once deployed, you can manage users, connections, and permissions entirely through the Guacamole web interface, making it ideal for browser-based remote access without VPNs or client installations.

By default, the Guacamole web interface is served under the `/guacamole` path. After deployment, you can access the UI at:
<br>`https:///guacamole`

If you see a generic Tomcat page or a 404 at the root URL (`/`), this is expected behavior, Guacamole is not hosted at the root context by default.

After the first deployment, Guacamole automatically creates a default administrative account.

- **Username:** `guacadmin`  
- **Password:** `guacadmin`  

For security reasons, you should change this password immediately after logging in. To do so, open the **user menu (top-right corner)**, choose **Settings → Preferences**, and update the password using the **Change Password** section. The password cannot be changed from the general user-edit screen and must be updated via the dedicated password menu.

## Common Use Cases

- Browser-based access to remote servers via SSH, RDP, or VNC  
- Centralized remote desktop gateway for teams or homelabs  
- Secure remote access to cloud or on-prem infrastructure  
- Jump host / bastion replacement with user-level access control  

## Dependencies for Apache Guacamole Hosting

- **guacd** – Guacamole proxy daemon that handles RDP, VNC, and SSH connections  
- **PostgreSQL** – Stores users, connections, permissions, and configuration data  

### Deployment Dependencies

- Apache Guacamole Docker image  
  https://hub.docker.com/r/guacamole/guacamole  
- Apache Guacamole documentation  
  https://guacamole.apache.org/doc/gug/  

### Implementation Details

This template uses Railway service-to-service networking and environment variables to automatically configure Guacamole’s PostgreSQL authentication and guacd connection. Database credentials and connection strings are injected securely, and no manual schema setup is required after deployment.

## Why Deploy Apache Guacamole on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Apache Guacamole on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/apache-guacamole
