Athens is a Server for Your Go Packages

Welcome, Gophers! We’re looking forward to introducing you to Athens..

On this site, we document Athens in detail. We’ll teach you what it does, why it matters, what you can do with it, and how you can run it yourself. Below is a brief summary for you.

How To Get Started?

Run `docker run -p '3000:3000' gomods/athens:latest`

Then, set up your GOPROXY and go get going!

export GOPROXY=http://localhost:3000 && go get module@v1

What Does Athens Do?

Athens provides a server for Go Modules that you can run. It serves public code and your private code for you, so you don’t have to pull directly from a version control system (VCS) like GitHub or GitLab.

Why does it matter?

There are many reasons why you’d want a proxy server such as security and performance. Take a look at a few of them

How Do I Use It?

Athens is easy to run yourself. We give you a few options:

  • You can run it as a binary on your system
    • Instructions coming soon for this
  • You can run it as a Docker image (see here for how to do that)
  • You can run it on Kubernetes (see here for how to do that)

We also run an experimental version of Athens so you can get started without even installing anything. To get started, set GOPROXY="".

This is not a production-ready proxy deployment, though. Please deploy your own Athens instance for your builds. If you need a hosted proxy for public code, consider using either or

Like what you hear? Try Athens Now!

Not Ready to try Athens Yet?

Here are some other ways to get involved:

  • Read the full walkthrough with setting up, running and testing the Athens proxy explores this in greater depth.
  • Join our office hours! It’s a great way to meet folks working on the project, ask questions or just hang out. All are welcome to join and participate.
  • Check out our issue queue for good first issues
  • Join us in the #athens channel on the Gophers Slack

Athens banner attributed to Golda Manuel

Fork me on GitHub