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.