Treehouse HTTPS Server

This website used to run on Caddy , an automatic HTTPS server written in Go with a lot of neat features. However these come with the considerable downside of over 30 direct third-party dependencies which in turn further depend on 90 indirect ones. The compiled and stripped(!) Caddy binary is 32.4 megabytes in size or 25 when additionally packed with upx .

My webserving needs are extremely simple. This website only consists of static files that need to be served from a file system.

So I wrote treehouse , a privilege dropping web server with automatic HTTPS, less than 200 lines of code, a single direct third-party dependency and two indirect ones, all part of the golang.org/x tree. The resulting (stripped) binary is 5.4 megabytes in size or 2.1 if packed with upx.

It appears to be doing its job just fine.


Pages linking here