What is Sentry?

Sentry is a realtime event logging and aggregation platform. It specializes in monitoring errors and extracting all the information needed to do a proper post-mortem without any of the hassle of the standard user feedback loop.

Port mapping

If you'd like to be able to access the instance from the host without the container's IP, standard port mappings can be used. Just add -p 8080:9000 to the docker run arguments and then access either http://localhost:8080 or http://host-ip:8080 in a browser.

Configuring the initial user

If you did not create a superuser during upgrade, use the following to create one:

Environment variables

When you start the sentry image, you can adjust the configuration of the Sentry instance by passing one or more environment variables on the docker run command line. Please note that these environment variables are provided as a jump start, and it's highly recommended to either mount in your own config file or utilize the sentry:onbuild variant.

SENTRY_SECRET_KEY

A secret key used for cryptographic functions within Sentry. This key should be unique and consistent across all running instances. You can generate a new secret key doing something like:

SENTRY_MAILGUN_API_KEY

If you're using Mailgun for inbound mail, set your API key and configure a route to forward to /api/hooks/mailgun/inbound/.

Image Variants

The sentry images come in many flavors, each designed for a specific use case.

sentry:<version>

This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of.

sentry:onbuild

This image makes it easy to custom build your own Sentry instance by copying in a custom config.yml and/or sentry.conf.py file and installing plugins from requirements.txt.

It's also possible to develop custom extensions within your onbuild package. If the build directory contains a setup.py file, this will also get installed.