How To Remotely Access GUI Applications Using Docker and Caddy

Even with the growing popularity of cloud services, the need for running native applications still exists. By using [noVNC](https://github.com/novnc/noVNC) and [TigerVNC](https://tigervnc.org), you can run native applications inside a [Docker](https://www.docker.com/) container and access them remotely using a web browser. Additionally, you can run your application on a server with more system resources than you might have available locally, which can provide increased flexibility when running large applications. In this tutorial, you'll containerize [Mozilla Thunderbird](https://www.thunderbird.net), an email client, using Docker. Afterward, you'll secure it and provide remote access using the [Caddy](https://caddyserver.com/) web server. When you're finished, you'll be able to access Thunderbird from any device using just a web browser. Optionally, you'll also be able to locally access the files from it using [WebDAV](http://www.webdav.org/). You'll also have a fully self-contained Docker image that you can run anywhere.

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.