Skip to content

Instantly share code, notes, and snippets.

@brccabral
Created May 8, 2026 09:28
Show Gist options
  • Select an option

  • Save brccabral/caf5048c8293a08d9dab112ea8ba5e47 to your computer and use it in GitHub Desktop.

Select an option

Save brccabral/caf5048c8293a08d9dab112ea8ba5e47 to your computer and use it in GitHub Desktop.
VNC on Browser

VNC on Browser

  1. noVNC and websockify
    Both are from same group.

https://github.com/novnc/noVNC
https://github.com/novnc/websockify

Clone just noVNC. cd into noVNC

 ./utils/novnc_proxy --vnc 127.0.0.1:5900 --listen 6080 --cert ~/.openssl/raspberrypi.crt --key ~/.openssl/raspberrypi.key --ssl-only

novnc_proxy will clone websockify inside itself.

  1. Apache Guacamole

docker-compose.yml

services:
  guacd:
    image: guacamole/guacd:1.6.0
    container_name: guacd
    restart: unless-stopped
    networks:
      - guacnet

  mysql:
    image: mysql:8.0
    container_name: guacamole-mysql
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: some_rootpass
      MYSQL_DATABASE: guacamole_db
      MYSQL_USER: some_user
      MYSQL_PASSWORD: some_pass
    volumes:
      - ./mysql_data:/var/lib/mysql
    networks:
      - guacnet

  guacamole:
    image: guacamole/guacamole:1.6.0
    container_name: guacamole
    restart: unless-stopped
    ports:
      - "127.0.0.1:18080:8080"
    environment:
      GUACD_HOSTNAME: guacd
      MYSQL_HOSTNAME: mysql
      MYSQL_DATABASE: guacamole_db
      MYSQL_USER: some_user
      MYSQL_PASSWORD: some_pass
    depends_on:
      - guacd
      - mysql
    networks:
      - guacnet
    extra_hosts:
      - "host.docker.internal:host-gateway"

networks:
  guacnet:
    driver: bridge

Get initdb.sql from guacamole-web container

docker run --rm guacamole/guacamole:1.6.0 /opt/guacamole/bin/initdb.sh --mysql > initdb.sql

Run docker compose up -d to pull and start containers.
Run initdb.sql inside mysql container to create db schema and tables.

docker exec -it guacamole-mysql mysql -u root -prootpass guacamole_db -e "source /initdb.sql"

Restart all three containers.
Access Guacamole at http://127.0.0.1:18080/guacamole, initial user/pass guacadmin/guacadmin.
Change/delete initial user/pass.

  1. WayVNC

The only way to work with WayVNC is to disable authentication.

sudo nano /etc/wayvnc/config

Set enable_auth=true to false.

sudo systemctl restart wayvnc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment