Sign inSign up

bencmeyer/guacwebvpn

By bencmeyer

•Updated 9 days ago

Image
0

939

bencmeyer/guacwebvpn repository overview

⁠OpenConnect VPN + Apache Guacamole (All-in-One)

Complete remote access solution combining OpenConnect VPN with Apache Guacamole for secure RDP/SSH/VNC access to internal networks.

ā šŸš€ Quick Start

# Pull the image
docker pull bencmeyer/guacwebvpn:latest

# Run with Docker Compose (persist data)
# Unraid recommended path
export CONFIG_DIR=/mnt/user/appdata/guacwebvpn
mkdir -p "$CONFIG_DIR"
docker compose -f docker-compose-allin1.yml up -d

ā šŸ“¦ What's Included

  • OpenConnect VPN - Cisco AnyConnect compatible VPN client with Duo 2FA
  • Apache Guacamole - Clientless remote desktop gateway (RDP/SSH/VNC)
  • MariaDB - Integrated database with auto-initialization
  • Web UI - Dashboard for VPN control and monitoring

ā šŸ”§ Configuration

⁠Environment Variables
VPN_USER: your_username          # Your VPN username
VPN_PASS: your_password          # Your VPN password
VPN_SERVER: vpn.example.com      # VPN server hostname
VPN_AUTHGROUP: OpenConnect1      # VPN auth group (optional)
DUO_METHOD: push                 # Duo 2FA method: push, phone, or sms
DNS_SERVERS: 8.8.8.8,8.8.4.4    # DNS servers for VPN tunnel
⁠Ports
⁠Default Credentials

Guacamole Login: guacadmin / guacadmin

āš ļø Change these immediately after first login!

ā šŸ“‹ Requirements

  • Docker with --privileged mode support
  • TUN device support (NET_ADMIN capability)
  • VPN credentials (with optional Duo 2FA)

⁠🐳 Docker Run Example

docker run -d \
  --name guacwebvpn \
  --privileged \
  --cap-add NET_ADMIN \
  --cap-add SYS_ADMIN \
  -v /mnt/user/appdata/guacwebvpn:/config \
  -p 8080:8080 \
  -p 9000:9000 \
  -e VPN_USER=your_username \
  -e VPN_PASS=your_password \
  -e VPN_SERVER=vpn.example.com \
  -e VPN_AUTHGROUP="OpenConnect1 (Split)" \
  -e DUO_METHOD=push \
  bencmeyer/guacwebvpn:latest

ā šŸ” RDP Connection Tips

When adding RDP connections in Guacamole:

  • Set Security mode to "Any"
  • Enable Ignore server certificate
  • Use custom ports if needed (e.g., 30020)

These settings resolve common certificate validation issues with enterprise RDP servers.

ā šŸ“– Documentation

ā šŸ› ļø Troubleshooting

VPN won't connect?

  • Verify credentials and VPN_SERVER
  • Check logs: docker logs guacwebvpn
  • Enable debug: Add -e DEBUG=true

Where is my data?

  • Bind-mount /config to persist MariaDB, Guacamole settings, and logs.
  • Paths inside container: /config/mysql, /config/guacamole, /config/openconnect, /config/logs.

Can't access Guacamole?

RDP connection fails immediately?

  • Set security mode to "Any"
  • Enable "Ignore server certificate"
  • Verify VPN is connected first

ā šŸ“œ License

  • OpenConnect: LGPL
  • Apache Guacamole: Apache 2.0
  • This Project: MIT License

⁠⭐ Features

  • āœ… All-in-one container (VPN + Guacamole + Database)
  • āœ… Automatic database initialization
  • āœ… Duo 2FA support (push/phone/SMS)
  • āœ… VPN connection isolation (disconnect won't kill Guacamole)
  • āœ… Web-based VPN control dashboard
  • āœ… Debug logging enabled for troubleshooting
  • āœ… Supports RDP, SSH, VNC, and Telnet protocols
  • āœ… Works with enterprise/university VPN systems

Built for: Secure remote access to internal networks via VPN with easy-to-use web interface for RDP/SSH connections.

Tag summary

Content type

Image

Digest

sha256:c7beabfc1…

Size

537.3 MB

Last updated

9 days ago

docker pull bencmeyer/guacwebvpn