desktop-dockerized/README.md

1.4 KiB

Desktop in Docker

This serves as a reference for how to run an arbitrary desktop environment, window manager or single application in docker and served securely in Browser using Guacamole.

Run

First we need to prepare the database because Guacamole is a bit special in this regard.

It should also ask you what domain Caddy should use to serve Guacamole on, it should automatically try to get a valid certificate for your domain.

$ ./prepare.sh
Domain Guacamole should be served on [localhost]: desktop.mydomain.com
Preparing folder guacamole/init and creating guacamole/init/initdb.sql
Setting permissions for user directory (chown needs root)
everything done

After that you can already start the containers using docker-compose -f compose.yml up -d to create the network first and then optionally run docker-compose up -d to build and start the default OBS app container.

Using the default guacamole credentials guacadmin:guacadmin, you can now create a connection using obs:5900 as network parameters in Settings > Connection > New Connection with VNC as protocol.

Config

There are a few environment variables you can set in .env that are used by docker-compose for the compose.yml.

If you want to serve it locally for tesing you can uncomment CADDY_HTTP and CADDY_HTTPS in the reference .env file. By default docker makes it listen on port 80 and 443 on all interfaces.