sentry

Supported tags and respective Dockerfile links

For detailed information about the published artifacts of each of the above supported tags (image metadata, transfer size, etc), please see the repos/sentry directory in the docker-library/repo-info GitHub repo.

For more information about this image and its history, please see the relevant manifest file (library/sentry). This image is updated via pull requests to the docker-library/official-images GitHub repo.

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.

github.com/getsentry/sentry


How to use this image

How to setup a full Sentry instance

  1. Start a Redis container

                    $ docker run -d --name sentry-redis redis
    
                
  2. Start a Postgres container

                    $ docker run -d --name sentry-postgres -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=sentry postgres
    
                
  3. Generate a new secret key to be shared by all sentry containers. This value will then be used as the SENTRY_SECRET_KEY environment variable.

                    $ docker run --rm sentry config generate-secret-key
    
                
  4. If this is a new database, you’ll need to run upgrade

                    $ docker run -it --rm -e SENTRY_SECRET_KEY='<secret-key>' --link sentry-postgres:postgres --link sentry-redis:redis sentry upgrade
    
                

    Note: the -it is important as the initial upgrade will prompt to create an initial user and will fail without it

  5. Now start up Sentry server

                    $ docker run -d --name my-sentry -e SENTRY_SECRET_KEY='<secret-key>' --link sentry-redis:redis --link sentry-postgres:postgres sentry
    
                
  6. The default config needs a celery beat and celery workers, start as many workers as you need (each with a unique name)

                    $ docker run -d --name sentry-cron -e SENTRY_SECRET_KEY='<secret-key>' --link sentry-postgres:postgres --link sentry-redis:redis sentry run cron
    $ docker run -d --name sentry-worker-1 -e SENTRY_SECRET_KEY='<secret-key>' --link sentry-postgres:postgres --link sentry-redis:redis sentry run worker
    
                

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:

        $ docker run -it --rm -e SENTRY_SECRET_KEY='<secret-key>' --link sentry-redis:redis --link sentry-postgres:postgres sentry createuser

    

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:

        $ docker run --rm sentry config generate-secret-key

    

SENTRY_POSTGRES_HOST, SENTRY_POSTGRES_PORT, SENTRY_DB_NAME, SENTRY_DB_USER, SENTRY_DB_PASSWORD

Database credentials for your Postgres server. These values aren’t needed if a linked postgres container exists.

SENTRY_REDIS_HOST, SENTRY_REDIS_PORT, SENTRY_REDIS_DB

Connection information for your Redis server. These values aren’t needed if a linked redis container exists.

SENTRY_MEMCACHED_HOST, SENTRY_MEMCACHED_PORT

Connection information for a Memcache server. These values aren’t needed if a linked memcached container exists.

SENTRY_FILESTORE_DIR

Directory where uploaded files will be stored. This defaults to /var/lib/sentry/files and is a VOLUME for persistent data.

SENTRY_SERVER_EMAIL

The email address used for From: in outbound emails. Default: root@localhost

SENTRY_EMAIL_HOST, SENTRY_EMAIL_PORT, SENTRY_EMAIL_USER, SENTRY_EMAIL_PASSWORD, SENTRY_EMAIL_USE_TLS

Connection information for an outbound smtp server. These values aren’t needed if a linked smtp container exists.

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.

See the official Sentry documentation for more information.

To create your custom sentry:onbuild package, simply do the following:

  1. Create a Dockerfile containing FROM sentry:onbuild
  2. In the same directory, add your custom configuration files.
  3. You can get copies of those files to use as templates from the docker-sentry GitHub repo.
  4. Build your image: docker build -t mysentry .
  5. Run your custom image using mysentry instead of sentry.

License

View license information for the software contained in this image.

Supported Docker versions

This image is officially supported on Docker version 17.04.0-ce.

Support for older versions (down to 1.6) is provided on a best-effort basis.

Please see the Docker installation documentation for details on how to upgrade your Docker daemon.

User Feedback

Issues

If you have any problems with or questions about this image, please contact us through a GitHub issue. If the issue is related to a CVE, please check for a cve-tracker issue on the official-images repository first.

You can also reach many of the official image maintainers via the #docker-library IRC channel on Freenode.

Contributing

You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.

Before you start to code, we recommend discussing your plans through a GitHub issue, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.

Documentation

Documentation for this image is stored in the
sentry/ directory
of the
docker-library/docs GitHub repo
. Be sure to familiarize yourself with the repository’s README.md file before attempting a pull request.

Add to wish list
Demo URL
Current Version
Last Update
Date Created
File Format(s)
File size
Compatible Platform
Requirements
License Type
Languages
Support Options
Documentation
Misc Info
Product Tags
More Questions
Change Log

You must log in and be a buyer of this download to submit a review.

Search

Search
Exact matches only
Search in title
Search in content
Search in comments
Search in excerpt
Filter by Custom Post Type

Details

sentry

0 sales

Add to wish list

Download Categories: , ,
Download Tag:

Your Cart

Newsletter

Sign up to stay tuned and receive special offers!


Subscribe to one or more email lists you want to receive:



You May Also Like

Copyright 2019

wisr

Help-Desk
X
Sign Up

Enter your email and Password

Log In

Enter your Username or email and password

Reset Password

Enter your email to reset your password

X
<-- script type="text/javascript">jQuery('#qt_popup_close').on('click', ppppop);