Golang HTTP Server Boilerplate
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
server Initial commit of boilerplate Dec 2, 2018



An example of a reasonably complex web server in Go.

What's Included

This is a boilerplate application designed to show how to build web applications in Go. The following features are already set up:

  • HTTPS through Let's Encrypt
  • An API subrouter
  • A demo of authentication middleware
  • Static file serving
  • Graceful shutdown

This application largely uses the standard library. Routing is provided by the go-chi/chi package, and Let's Encrypt functionality is provided by the autocert package.

More Information

For more information on the design behind this boilerplate, please refer to the blog post.


To start using this library, it's recommend to fork this repository. Then, you can update the import paths to point to your local copy.

Pull Requests Welcome!

This is just one way to structure web servers in Go. I'd love to get feedback on possible improvements, so please don't hesitate to send a pull request!