Giter Site home page Giter Site logo

docker-sentry's Introduction

DEPRECATED

The up-to-date contents of this repo now lives under getsentry/sentry and the on-premise installation lives under getsentry/onpremise. Any issues should be reported in these repositories. This one is for visibility into the older 9.1 release.

About this Repo Build Status

This is the Git repo of the official Docker image for sentry. See the Hub page for the full readme on how to use the Docker image and for information regarding contributing and issues.

The full readme is generated over in docker-library/docs, specificially in docker-library/docs/sentry.

docker-compose

If you'd like to use docker-compose or try Sentry using Docker, head over to https://github.com/getsentry/onpremise.

docker-sentry's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-sentry's Issues

Cannot start sentry docker - SENTRY_URL_PREFIX is not configured

# docker logs 8042b...
OperationalError: fe_sendauth: no password supplied

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! SENTRY_URL_PREFIX is not configured !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Performing upgrade before service startup...
Syncing...

SENTRY_URL_PREFIX is set in sentry.conf.py

setup does not work: Background workers haven't checked in recently.

Hi,

I followed the how to setup a full sentry instance guide from the docs.
I got the server running, but I'm now stuck on "Background workers haven't checked in recently." without sentry reporting any events.

I got 3 containers running sentry, celery-beat and celery-worker1

here are the logs:

sentry

Configuration file created at '/home/user/.sentry/sentry.conf.py'

!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!
!! SENTRY_ADMIN_EMAIL is not configured !!
!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!


!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!
!! SENTRY_URL_PREFIX is not configured !!
!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!

Running service: 'http'
[2015-09-12 01:03:04 +0000] [1] [INFO] Starting gunicorn 19.3.0
[2015-09-12 01:03:04 +0000] [1] [INFO] Listening at: http://0.0.0.0:9000 (1)
[2015-09-12 01:03:04 +0000] [1] [INFO] Using worker: sync
[2015-09-12 01:03:04 +0000] [13] [INFO] Booting worker with pid: 13
[2015-09-12 01:03:04 +0000] [14] [INFO] Booting worker with pid: 14
[2015-09-12 01:03:04 +0000] [15] [INFO] Booting worker with pid: 15

celery-beat

[2015-09-12 01:46:10,307: INFO/MainProcess] beat: Starting...

celery-worker1

[2015-09-12 01:46:11,024: WARNING/MainProcess] /usr/local/lib/python3.4/site-packages/celery/apps/worker.py:161: CDeprecationWarning: 
Starting from version 3.2 Celery will refuse to accept pickle by default.

The pickle serializer is a security concern as it may give attackers
the ability to execute any command.  It's important to secure
your broker from unauthorized access when using pickle, so we think
that enabling pickle should require a deliberate action and not be
the default choice.

If you depend on pickle then you should set a setting to disable this
warning and to be sure that everything will continue working
when you upgrade to Celery 3.2::

    CELERY_ACCEPT_CONTENT = ['pickle', 'json', 'msgpack', 'yaml']

You must only enable the serializers that you will actually use.


  warnings.warn(CDeprecationWarning(W_PICKLE_DEPRECATED))
[2015-09-12 01:46:12,066: WARNING/MainProcess] celery@597c40261335 ready.

docker run --link some-redis:redis -e CELERY_BROKER_URL=redis://redis --rm celery celery status

celery@597c40261335: OK

1 node online.

Am I missing something?

Completely insecure in its current form

This image has hardcoded secret keys with no way to change them, what is the point on having "official images" if they don't even have the most cursory of checks done on them.

It is impossible to securely configure this image.

Create user step fails

followed steps on docker and keep getting this on last step

`
docker run -it --rm -e SENTRY_SECRET_KEY='-a%&q-s!q=o-llt*k^@qlu2$t83d=1twjk#8&a0$5aq5%(zy25' --link sentry-redis:redis --link sentry-postgres:postgres sentry createuser --email=[email protected] --password=password --superuser

[ERROR] Unable to fetch internal project
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/sentry/utils/raven.py", line 78, in send
project = Project.objects.get_from_cache(id=settings.SENTRY_PROJECT)
File "/usr/local/lib/python2.7/site-packages/sentry/db/models/manager.py", line 259, in get_from_cache
result = self.get(*_kwargs)
File "/usr/local/lib/python2.7/site-packages/django/db/models/manager.py", line 151, in get
return self.get_queryset().get(_args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 304, in get
num = len(clone)
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 77, in len
self._fetch_all()
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 857, in _fetch_all
self._result_cache = list(self.iterator())
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 220, in iterator
for row in compiler.results_iter():
File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 713, in results_iter
for rows in self.execute_sql(MULTI):
File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 786, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/raven/contrib/django/client.py", line 110, in execute
return real_execute(self, sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 99, in exit
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 75, in inner
raise_the_exception(self.db, e)
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 73, in inner
return func(self, *args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 21, in inner
return func(self, _args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 95, in inner
six.reraise(exc_info[0], exc_info0, exc_info[2])
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 88, in inner
return func(self, sql, _args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/base.py", line 39, in execute
return self.cursor.execute(sql, params)
ProgrammingError: column sentry_project.forced_color does not exist
LINE 1: ..."sentry_project"."slug", "sentry_project"."name", "sentry_pr...
^

SQL: SELECT "sentry_project"."id", "sentry_project"."slug", "sentry_project"."name", "sentry_project"."forced_color", "sentry_project"."organization_id", "sentry_project"."team_id", "sentry_project"."public", "sentry_project"."date_added", "sentry_project"."status", "sentry_project"."first_event" FROM "sentry_project" WHERE "sentry_project"."id" = %s
Traceback (most recent call last):
File "/usr/local/bin/sentry", line 11, in
sys.exit(main())
File "/usr/local/lib/python2.7/site-packages/sentry/runner/init.py", line 151, in main
cli(prog_name=get_prog(), obj={}, max_content_width=100)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 716, in call
return self.main(_args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 696, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 889, in invoke
return ctx.invoke(self.callback, *_ctx.params)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 534, in invoke
return callback(_args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/sentry/runner/decorators.py", line 26, in inner
return ctx.invoke(f, _args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 534, in invoke
return callback(_args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/sentry/runner/commands/createuser.py", line 87, in createuser
user.save()
File "/usr/local/lib/python2.7/site-packages/sentry/models/user.py", line 71, in save
return super(User, self).save(_args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 545, in save
force_update=force_update, update_fields=update_fields)
File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 573, in save_base
updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 654, in _save_table
result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 687, in _do_insert
using=using, raw=raw)
File "/usr/local/lib/python2.7/site-packages/django/db/models/manager.py", line 232, in _insert
return insert_query(self.model, objs, fields, **kwargs)
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 1514, in insert_query
return query.get_compiler(using=using).execute_sql(return_id)
File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 903, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/raven/contrib/django/client.py", line 110, in execute
return real_execute(self, sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 99, in exit
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 75, in inner
raise_the_exception(self.db, e)
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 73, in inner
return func(self, _args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 21, in inner
return func(self, _args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 95, in inner
six.reraise(exc_info[0], exc_info0, exc_info[2])
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 88, in inner
return func(self, sql, _args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/base.py", line 39, in execute
return self.cursor.execute(sql, params)
django.db.utils.IntegrityError: null value in column "last_name" violates not-null constraint
DETAIL: Failing row contains (pbkdf2_sha256$12000$Qlxss99w8bdb$+lf9V3UerVMbyisi3Yj/JcA53NhgsxE..., 2016-05-06 15:27:54.462485+00, 3, [email protected], , null, [email protected], t, t, t, 2016-05-06 15:27:54.462541+00, f).

SQL: INSERT INTO "auth_user" ("password", "last_login", "username", "first_name", "email", "is_staff", "is_active", "is_superuser", "is_managed", "date_joined") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "auth_user"."id"

`

Are celery workers needed, and if so, how to start those?

How does this install run the celery workers? From the official sentry quickstart we can read this:

So do not forget to run the workers!

sentry --config=/etc/sentry.conf.py celery worker -B

Technically there is a way to run sentry without the queues by setting CELERY_ALWAYS_EAGER to True but this is heavily discouraged and not supported.

I suppose that the discouraged/unsupported eager settings isn't the way forward, but what is?

There is a celery docker in the library, should we run celery in a separate container? Or try to start it inside the running sentry container (that's a docker anti-pattern, isn't it?).

Anyway, some pointers would be welcome. If I get it running in a "docker compatible" way I'll be glad to do a PR for the README.

I suppose this library is working for some, so it's all too possible I just missed the part where it is really obvious how this works, but there it is ;)

Broader documentation on setting up sentry with docker(docker-compose)

Hi,

I love this project. It aims to simplify whole process of setting up sentry.

Nevertheless it took me few hours to set it up. Actually it turns out that setting it up are only few lines of code if you know what you have to do it.

So my docker-compose.yml look like this:

postgres:
    restart: always
    image: postgres

redis:
    restart: always
    image: redis

celerybeat:
    restart: always
    image: sentry
    command: sentry --config=/home/user/config/settings.py celery beat
    links:
        - redis
        - postgres
    volumes:
        - ./config:/home/user/config

celeryworker:
    restart: always
    image: sentry
    command: sentry --config=/home/user/config/settings.py celery worker
    links:
        - redis
        - postgres
    volumes:
        - ./config:/home/user/config

sentry:
    restart: always
    image: sentry
    command: sentry --config=/home/user/config/settings.py start
    links:
        - postgres
        - redis
    ports:
        - "80:9000"
    volumes:
        - ./config:/home/user/config

Additionally in config I store file settings.py. I marked settings to change with # FILL:

# This file is just Python, with a touch of Django which means
# you can inherit and tweak settings to your hearts content.
from sentry.conf.server import *

import os.path

CONF_ROOT = os.path.dirname(__file__)

DATABASES = {
    'default': {
        # You can swap out the engine for MySQL easily by changing this value
        # to ``django.db.backends.mysql`` or to PostgreSQL with
        # ``sentry.db.postgres``

        # If you change this, you'll also need to install the appropriate python
        # package: psycopg2 (Postgres) or mysql-python
        'ENGINE': 'django.db.backends.postgresql_psycopg2',

        'NAME': 'postgres',
        'USER': 'postgres',
        'PASSWORD': '',
        'HOST': 'postgres',
        'PORT': '',
        'OPTIONS': {
            'autocommit': True,
        },
    }
}

# You should not change this setting after your database has been created
# unless you have altered all schemas first
SENTRY_USE_BIG_INTS = True

# If you're expecting any kind of real traffic on Sentry, we highly recommend
# configuring the CACHES and Redis settings

###########
# General #
###########

# The administrative email for this installation.
# Note: This will be reported back to getsentry.com as the point of contact. See
# the beacon documentation for more information. This **must** be a string.

# SENTRY_ADMIN_EMAIL = '[email protected]'
SENTRY_ADMIN_EMAIL = '' # FILL

# Instruct Sentry that this install intends to be run by a single organization
# and thus various UI optimizations should be enabled.
SENTRY_SINGLE_ORGANIZATION = True

#########
# Redis #
#########

# Generic Redis configuration used as defaults for various things including:
# Buffers, Quotas, TSDB

SENTRY_REDIS_OPTIONS = {
    'hosts': {
        0: {
            'host': 'redis',
            'port': 6379,
            'db': '0'
        }
    }
}

#########
# Cache #
#########

# If you wish to use memcached, install the dependencies and adjust the config
# as shown:
#
#   pip install python-memcached
#
# CACHES = {
#     'default': {
#         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
#         'LOCATION': ['127.0.0.1:11211'],
#     }
# }
#
# SENTRY_CACHE = 'sentry.cache.django.DjangoCache'

SENTRY_CACHE = 'sentry.cache.redis.RedisCache'

#########
# Queue #
#########

# See https://docs.getsentry.com/on-premise/server/queue/ for more
# information on configuring your queue broker and workers. Sentry relies
# on a Python framework called Celery to manage queues.

CELERY_ALWAYS_EAGER = False
BROKER_URL = 'redis://redis:6379'

###############
# Rate Limits #
###############

# Rate limits apply to notification handlers and are enforced per-project
# automatically.

SENTRY_RATELIMITER = 'sentry.ratelimits.redis.RedisRateLimiter'

##################
# Update Buffers #
##################

# Buffers (combined with queueing) act as an intermediate layer between the
# database and the storage API. They will greatly improve efficiency on large
# numbers of the same events being sent to the API in a short amount of time.
# (read: if you send any kind of real data to Sentry, you should enable buffers)

SENTRY_BUFFER = 'sentry.buffer.redis.RedisBuffer'

##########
# Quotas #
##########

# Quotas allow you to rate limit individual projects or the Sentry install as
# a whole.

SENTRY_QUOTAS = 'sentry.quotas.redis.RedisQuota'

########
# TSDB #
########

# The TSDB is used for building charts as well as making things like per-rate
# alerts possible.

SENTRY_TSDB = 'sentry.tsdb.redis.RedisTSDB'

################
# File storage #
################

# Any Django storage backend is compatible with Sentry. For more solutions see
# the django-storages package: https://django-storages.readthedocs.org/en/latest/

SENTRY_FILESTORE = 'django.core.files.storage.FileSystemStorage'
SENTRY_FILESTORE_OPTIONS = {
    'location': '/tmp/sentry-files',
}

##############
# Web Server #
##############

# You MUST configure the absolute URI root for Sentry:
SENTRY_URL_PREFIX = '' # FILL  # No trailing slash!

# If you're using a reverse proxy, you should enable the X-Forwarded-Proto
# header and uncomment the following settings
# SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
# SESSION_COOKIE_SECURE = True

SENTRY_WEB_HOST = '0.0.0.0'
SENTRY_WEB_PORT = 9000
SENTRY_WEB_OPTIONS = {
    # 'workers': 3,  # the number of gunicorn workers
    # 'secure_scheme_headers': {'X-FORWARDED-PROTO': 'https'},
}

###############
# Mail Server #
###############

# For more information check Django's documentation:
#  https://docs.djangoproject.com/en/1.3/topics/email/?from=olddocs#e-mail-backends

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

EMAIL_HOST = '' # FILL smtp server
EMAIL_HOST_PASSWORD = '' # FILL 
EMAIL_HOST_USER = '' # FILL
EMAIL_PORT = 587
EMAIL_USE_TLS = True

# The email address to send on behalf of
SERVER_EMAIL = '' # FILL

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

########
# etc. #
########

# If this file ever becomes compromised, it's important to regenerate your SECRET_KEY
# Changing this value will result in all current sessions being invalidated
SECRET_KEY = '' # FILL

SENTRY_FEATURES['auth:register'] = False # FILL

Then you need firstly to run

docker-compose run --rm sentry --config=/home/user/config/settings.py upgrade

After that you simply do

docker-compose up -d

Unfortunately after each restart there is need to remove both celerybeat and celeryworker services

docker-compose kill
docker-compose rm celerybeat celeryworker
docker-compose up -d

What is cool about this config is that with few lines of code and little modification you can get running Sentry. Maybe some use case like that could be somewhere written to make using Sentry with docker even simpler?

How to setup the username and password of database at first

Referring to the tutorial of this container, we should setup MySQL or PostgreSQL first. But I don't know what are the username and password that sentry will use.

We can simply start MySQL container like docker run -d --name some-mysql -e MYSQL_ROOT_PASSWORD=root mysql but it seems not work.

Please add more information of the complete processes to start sentry 😃

django.db.utils.ProgrammingError: relation "sentry_project" does not exist

docker run -it --rm --link some-postgres:postgres sentry sentry createsuperuser

Username: JJ
Traceback (most recent call last):
File "/usr/local/bin/sentry", line 11, in
sys.exit(main())
File "/usr/local/lib/python2.7/site-packages/sentry/utils/runner.py", line 428, in main
initializer=initialize_app,
File "/usr/local/lib/python2.7/site-packages/logan/runner.py", line 193, in run_app
management.execute_from_command_line([runner_name, command] + command_args)
File "/usr/local/lib/python2.7/site-packages/django/core/management/init.py", line 399, in execute_from_co
mmand_line
utility.execute()
File "/usr/local/lib/python2.7/site-packages/django/core/management/init.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
self.execute(_args, *_options.dict)
File "/usr/local/lib/python2.7/site-packages/raven/contrib/django/management/init.py", line 46, in new_exe
cute
'argv': sys.argv
File "/usr/local/lib/python2.7/site-packages/raven/base.py", line 660, in captureException
'raven.events.Exception', exc_info=exc_info, **kwargs)
File "/usr/local/lib/python2.7/site-packages/sentry/utils/raven.py", line 39, in capture
return super(SentryInternalClient, self).capture(_args, _kwargs)
File "/usr/local/lib/python2.7/site-packages/raven/contrib/django/client.py", line 157, in capture
result = super(DjangoClient, self).capture(event_type, **kwargs)
File "/usr/local/lib/python2.7/site-packages/raven/base.py", line 505, in capture
self.send(**data)
File "/usr/local/lib/python2.7/site-packages/sentry/utils/raven.py", line 50, in send
project = Project.objects.get_from_cache(id=settings.SENTRY_PROJECT)
File "/usr/local/lib/python2.7/site-packages/sentry/db/models/manager.py", line 209, in get_from_cache
result = self.get(
_kwargs)
File "/usr/local/lib/python2.7/site-packages/django/db/models/manager.py", line 151, in get
return self.get_queryset().get(_args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 304, in get
num = len(clone)
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 77, in len
self._fetch_all()
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 857, in _fetch_all
self._result_cache = list(self.iterator())
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 220, in iterator
for row in compiler.results_iter():
File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 713, in results_iter
for rows in self.execute_sql(MULTI):
File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 786, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 99, in exit
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: relation "sentry_project" does not exist
LINE 1: ...oject"."status", "sentry_project"."platform" FROM "sentry_pr...

How should i do?

Database issues

When I first setup my container like this:

docker run --name log -it --rm \
-e SENTRY_SECRET_KEY=<key> \
-e SENTRY_DB_USER=sentry \
-e SENTRY_DB_PASSWORD=<password> \
-e SENTRY_DB_NAME=sentry \
--link postgresql:postgres \
--link redis:redis \
sentry:8.1.2 upgrade

it fails with this:

[ERROR] Unable to fetch internal project
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/sentry/utils/raven.py", line 59, in send
    project = Project.objects.get_from_cache(id=settings.SENTRY_PROJECT)
  File "/usr/local/lib/python2.7/site-packages/sentry/db/models/manager.py", line 259, in get_from_cache
    result = self.get(**kwargs)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/manager.py", line 151, in get
    return self.get_queryset().get(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 304, in get
    num = len(clone)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 77, in __len__
    self._fetch_all()
  File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 857, in _fetch_all
    self._result_cache = list(self.iterator())
  File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 220, in iterator
    for row in compiler.results_iter():
  File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 713, in results_iter
    for rows in self.execute_sql(MULTI):
  File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 786, in execute_sql
    cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 99, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/usr/local/lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 75, in inner
    raise_the_exception(self.db, e)
  File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 73, in inner
    return func(self, *args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 21, in inner
    return func(self, *args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 95, in inner
    six.reraise(exc_info[0], exc_info[0](msg), exc_info[2])
  File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 88, in inner
    return func(self, sql, *args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/base.py", line 44, in execute
    return self.cursor.execute(sql, params)
ProgrammingError: relation "sentry_project" does not exist
LINE 1: ...ct"."status", "sentry_project"."first_event" FROM "sentry_pr...
                                                             ^

SQL: SELECT "sentry_project"."id", "sentry_project"."slug", "sentry_project"."name", "sentry_project"."organization_id", "sentry_project"."team_id", "sentry_project"."public", "sentry_project"."date_added", "sentry_project"."status", "sentry_project"."first_event" FROM "sentry_project" WHERE "sentry_project"."id" = %s
Traceback (most recent call last):
  File "/usr/local/bin/sentry", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/site-packages/sentry/runner/__init__.py", line 145, in main
    cli(prog_name=get_prog(), obj={}, max_content_width=100)
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 889, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/sentry/runner/decorators.py", line 25, in inner
    configure()
  File "/usr/local/lib/python2.7/site-packages/sentry/runner/__init__.py", line 108, in configure
    configure(ctx, py, yaml, skip_backend_validation)
  File "/usr/local/lib/python2.7/site-packages/sentry/runner/settings.py", line 313, in configure
    }, skip_backend_validation=skip_backend_validation)
  File "/usr/local/lib/python2.7/site-packages/sentry/runner/initializer.py", line 158, in initialize_app
    validate_backends()
  File "/usr/local/lib/python2.7/site-packages/sentry/runner/initializer.py", line 181, in validate_backends
    backend.validate()
  File "/usr/local/lib/python2.7/site-packages/sentry/digests/backends/redis.py", line 155, in validate
    label='Digests',
  File "/usr/local/lib/python2.7/site-packages/sentry/utils/redis.py", line 73, in check_cluster_versions
    recommended,
  File "/usr/local/lib/python2.7/site-packages/sentry/utils/versioning.py", line 45, in check_versions
    raise InvalidConfiguration(make_upgrade_message(service, 'must', required, must_upgrade))
sentry.exceptions.InvalidConfiguration: Redis (Digests) must be upgraded to 2.8.9 on redis:6379.

I can't logging into Sentry

Hi,

I installed Sentry with Docker Compose, but when I try logging into Sentry, Sentry does not do nothing.

Documentation / Example repo for using onbuild

We want to configure sentry using the onbuild option to add the ldap plugin and have the ability to fully edit the config file. Is there any documentation or example repos that have this working I can learn from?

Exception on start sentry

Step-by-step execute commands from https://hub.docker.com/_/sentry/ :

root@sentry1:~# docker run -d --name sentry-redis redis
957c3000c56fcf5dabf2212ace203c7ae4ce982e4b8a9722a4006886a5d5ab58

root@sentry1:~# docker run -d --name sentry-postgres -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=sentry postgres
20f1fdf3a4fd1e3d8835041f5843801e0b3b1e940de8630988deab91af179c1b

root@sentry1:~# docker run --rm sentry generate-secret-key
8b3@_)pishdcwg*8i%i2srn6@8=-urtm63a#f9v3-a(%(fjpd!

root@sentry1:~# docker run -it --rm -e SENTRY_SECRET_KEY="8b3@_)pishdcwg*8i%i2srn6@8=-urtm63a#f9v3-a(%(fjpd!" --link sentry-postgres:postgres --link sentry-redis:redis sentry upgrade
Syncing...
Creating tables ...
Creating table django_admin_log
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table django_content_type
Creating table django_session
Creating table django_site
Creating table south_migrationhistory
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)

Synced:
 > django.contrib.admin
 > django.contrib.auth
 > django.contrib.contenttypes
 > django.contrib.messages
 > django.contrib.sessions
 > django.contrib.sites
 > django.contrib.staticfiles
 > captcha
 > crispy_forms
 > debug_toolbar
 > raven.contrib.django.raven_compat
 > rest_framework
 > sentry.plugins.sentry_interface_types
 > sentry.plugins.sentry_mail
 > sentry.plugins.sentry_urls
 > sentry.plugins.sentry_useragents
 > sentry.plugins.sentry_webhooks
 > south
 > sudo

Not synced (use migrations):
 - sentry
 - sentry.nodestore
 - sentry.search
 - social_auth
(use ./manage.py migrate to migrate these)
Running migrations for sentry:
 - Migrating forwards to 0234_auto__add_savedsearchuserdefault__add_unique_savedsearchuserdefault_pr.
 > sentry:0001_initial
 > sentry:0002_auto__del_field_groupedmessage_url__chg_field_groupedmessage_view__chg
 > sentry:0003_auto__add_field_message_group__del_field_groupedmessage_server_name
 > sentry:0004_auto__add_filtervalue__add_unique_filtervalue_key_value
 > sentry:0005_auto
 > sentry:0006_auto
 > sentry:0007_auto__add_field_message_site
 > sentry:0008_auto__chg_field_message_view__add_field_groupedmessage_data__chg_field
 > sentry:0009_auto__add_field_message_message_id
 > sentry:0010_auto__add_messageindex__add_unique_messageindex_column_value_object_id
 > sentry:0011_auto__add_field_groupedmessage_score
 > sentry:0012_auto
 > sentry:0013_auto__add_messagecountbyminute__add_unique_messagecountbyminute_group_
 > sentry:0014_auto
 > sentry:0014_auto__add_project__add_projectmember__add_unique_projectmember_project
 > sentry:0015_auto__add_field_message_project__add_field_messagecountbyminute_projec
 > sentry:0016_auto__add_field_projectmember_is_superuser
 > sentry:0017_auto__add_field_projectmember_api_key
 > sentry:0018_auto__chg_field_project_owner
 > sentry:0019_auto__del_field_projectmember_api_key__add_field_projectmember_public_
 > sentry:0020_auto__add_projectdomain__add_unique_projectdomain_project_domain
 > sentry:0021_auto__del_message__del_groupedmessage__del_unique_groupedmessage_proje
 > sentry:0022_auto__del_field_group_class_name__del_field_group_traceback__del_field
 > sentry:0023_auto__add_field_event_time_spent
 > sentry:0024_auto__add_field_group_time_spent_total__add_field_group_time_spent_cou
 > sentry:0025_auto__add_field_messagecountbyminute_time_spent_total__add_field_messa
 > sentry:0026_auto__add_field_project_status
 > sentry:0027_auto__chg_field_event_server_name
 > sentry:0028_auto__add_projectoptions__add_unique_projectoptions_project_key_value
 > sentry:0029_auto__del_field_projectmember_is_superuser__del_field_projectmember_pe
 > sentry:0030_auto__add_view__chg_field_event_group
 > sentry:0031_auto__add_field_view_verbose_name__add_field_view_verbose_name_plural_
 > sentry:0032_auto__add_eventmeta
 > sentry:0033_auto__add_option__add_unique_option_key_value
 > sentry:0034_auto__add_groupbookmark__add_unique_groupbookmark_project_user_group
 > sentry:0034_auto__add_unique_option_key__del_unique_option_value_key__del_unique_g
 > sentry:0036_auto__chg_field_option_value__chg_field_projectoption_value
 > sentry:0037_auto__add_unique_option_key__del_unique_option_value_key__del_unique_g
 > sentry:0038_auto__add_searchtoken__add_unique_searchtoken_document_field_token__ad
 > sentry:0039_auto__add_field_searchdocument_status
 > sentry:0040_auto__del_unique_event_event_id__add_unique_event_project_event_id
 > sentry:0041_auto__add_field_messagefiltervalue_last_seen__add_field_messagefilterv
 > sentry:0042_auto__add_projectcountbyminute__add_unique_projectcountbyminute_projec
 > sentry:0043_auto__chg_field_option_value__chg_field_projectoption_value
 > sentry:0044_auto__add_field_projectmember_is_active
 > sentry:0045_auto__add_pendingprojectmember__add_unique_pendingprojectmember_projec
 > sentry:0046_auto__add_teammember__add_unique_teammember_team_user__add_team__add_p
 > sentry:0047_migrate_project_slugs
 > sentry:0048_migrate_project_keys
 > sentry:0049_create_default_project_keys
 > sentry:0050_remove_project_keys_from_members
 > sentry:0051_auto__del_pendingprojectmember__del_unique_pendingprojectmember_projec
 > sentry:0052_migrate_project_members
 > sentry:0053_auto__del_projectmember__del_unique_projectmember_project_user
 > sentry:0054_fix_project_keys
 > sentry:0055_auto__del_projectdomain__del_unique_projectdomain_project_domain
 > sentry:0056_auto__add_field_group_resolved_at
 > sentry:0057_auto__add_field_group_active_at
 > sentry:0058_auto__add_useroption__add_unique_useroption_user_project_key
 > sentry:0059_auto__add_filterkey__add_unique_filterkey_project_key
 > sentry:0060_fill_filter_key
 > sentry:0061_auto__add_field_group_group_id__add_field_group_is_public
 > sentry:0062_correct_del_index_sentry_groupedmessage_logger__view__checksum
 > sentry:0063_auto
 > sentry:0064_index_checksum
 > sentry:0065_create_default_project_key
 > sentry:0066_auto__del_view
 > sentry:0067_auto__add_field_group_platform__add_field_event_platform
 > sentry:0068_auto__add_field_projectkey_user_added__add_field_projectkey_date_added
 > sentry:0069_auto__add_lostpasswordhash
 > sentry:0070_projectoption_key_length
 > sentry:0071_auto__add_field_group_users_seen
 > sentry:0072_auto__add_affecteduserbygroup__add_unique_affecteduserbygroup_project_
 > sentry:0073_auto__add_field_project_platform
 > sentry:0074_correct_filtervalue_index
 > sentry:0075_add_groupbookmark_index
 > sentry:0076_add_groupmeta_index
 > sentry:0077_auto__add_trackeduser__add_unique_trackeduser_project_ident
 > sentry:0078_auto__add_field_affecteduserbygroup_tuser
 > sentry:0079_auto__del_unique_affecteduserbygroup_project_ident_group__add_unique_a
 > sentry:0080_auto__chg_field_affecteduserbygroup_ident
 > sentry:0081_fill_trackeduser
 > sentry:0082_auto__add_activity__add_field_group_num_comments__add_field_event_num_
 > sentry:0083_migrate_dupe_groups
 > sentry:0084_auto__del_unique_group_project_checksum_logger_culprit__add_unique_gro
 > sentry:0085_auto__del_unique_project_slug__add_unique_project_slug_team
 > sentry:0086_auto__add_field_team_date_added
 > sentry:0087_auto__del_messagefiltervalue__del_unique_messagefiltervalue_project_ke
 > sentry:0088_auto__del_messagecountbyminute__del_unique_messagecountbyminute_projec
 > sentry:0089_auto__add_accessgroup__add_unique_accessgroup_team_name
 > sentry:0090_auto__add_grouptagkey__add_unique_grouptagkey_project_group_key__add_f
 > sentry:0091_auto__add_alert
 > sentry:0092_auto__add_alertrelatedgroup__add_unique_alertrelatedgroup_group_alert
 > sentry:0093_auto__add_field_alert_status
 > sentry:0094_auto__add_eventmapping__add_unique_eventmapping_project_event_id
 > sentry:0095_rebase
 > sentry:0096_auto__add_field_tagvalue_data
 > sentry:0097_auto__del_affecteduserbygroup__del_unique_affecteduserbygroup_project_
 > sentry:0098_auto__add_user__chg_field_team_owner__chg_field_activity_user__chg_fie
 > sentry:0099_auto__del_field_teammember_is_active
 > sentry:0100_auto__add_field_tagkey_label
 > sentry:0101_ensure_teams
 > sentry:0102_ensure_slugs
 > sentry:0103_ensure_non_empty_slugs
 > sentry:0104_auto__add_groupseen__add_unique_groupseen_group_user
 > sentry:0105_auto__chg_field_projectcountbyminute_time_spent_total__chg_field_group
 > sentry:0106_auto__del_searchtoken__del_unique_searchtoken_document_field_token__de
 > sentry:0107_expand_user
 > sentry:0108_fix_user
 > sentry:0109_index_filtervalue_times_seen
 > sentry:0110_index_filtervalue_last_seen
 > sentry:0111_index_filtervalue_first_seen
 > sentry:0112_auto__chg_field_option_value__chg_field_useroption_value__chg_field_pr
 > sentry:0113_auto__add_field_team_status
 > sentry:0114_auto__add_field_projectkey_roles
 > sentry:0115_auto__del_projectcountbyminute__del_unique_projectcountbyminute_projec
 > sentry:0116_auto__del_field_event_server_name__del_field_event_culprit__del_field_
 > sentry:0117_auto__add_rule
 > sentry:0118_create_default_rules
 > sentry:0119_auto__add_field_projectkey_label
 > sentry:0120_auto__add_grouprulestatus
 > sentry:0121_auto__add_unique_grouprulestatus_rule_group
 > sentry:0122_add_event_group_id_datetime_index
 > sentry:0123_auto__add_groupassignee__add_index_event_group_datetime
 > sentry:0124_auto__add_grouphash__add_unique_grouphash_project_hash
 > sentry:0125_auto__add_field_user_is_managed
 > sentry:0126_auto__add_field_option_last_updated
 > sentry:0127_auto__add_release__add_unique_release_project_version
 > sentry:0128_auto__add_broadcast
 > sentry:0129_auto__chg_field_release_id__chg_field_pendingteammember_id__chg_field_
 > sentry:0130_auto__del_field_project_owner
 > sentry:0131_auto__add_organizationmember__add_unique_organizationmember_organizati
 > sentry:0132_add_default_orgs
 > sentry:0133_add_org_members
 > sentry:0134_auto__chg_field_team_organization
 > sentry:0135_auto__chg_field_project_team
 > sentry:0136_auto__add_field_organizationmember_email__chg_field_organizationmember
 > sentry:0137_auto__add_field_organizationmember_has_global_access
 > sentry:0138_migrate_team_members
 > sentry:0139_auto__add_auditlogentry
 > sentry:0140_auto__add_field_organization_slug
 > sentry:0141_fill_org_slugs
 > sentry:0142_auto__add_field_project_organization__add_unique_project_organization_
 > sentry:0143_fill_project_orgs
 > sentry:0144_auto__chg_field_project_organization
 > sentry:0145_auto__chg_field_organization_slug
 > sentry:0146_auto__add_field_auditlogentry_ip_address
 > sentry:0147_auto__del_unique_team_slug__add_unique_team_organization_slug
 > sentry:0148_auto__add_helppage
 > sentry:0149_auto__chg_field_groupseen_project__chg_field_groupseen_user__chg_field
 > sentry:0150_fix_broken_rules
 > sentry:0151_auto__add_file
 > sentry:0152_auto__add_field_file_checksum__chg_field_file_name__add_unique_file_na
 > sentry:0153_auto__add_field_grouprulestatus_last_active
 > sentry:0154_auto__add_field_tagkey_status
 > sentry:0155_auto__add_field_projectkey_status
 > sentry:0156_auto__add_apikey
 > sentry:0157_auto__add_authidentity__add_unique_authidentity_auth_provider_ident__a
 > sentry:0158_auto__add_unique_authidentity_auth_provider_user
 > sentry:0159_auto__add_field_authidentity_last_verified__add_field_organizationmemb
 > sentry:0160_auto__add_field_authprovider_default_global_access
 > sentry:0161_auto__chg_field_authprovider_config
 > sentry:0162_auto__chg_field_authidentity_data
 > sentry:0163_auto__add_field_authidentity_last_synced
 > sentry:0164_auto__add_releasefile__add_unique_releasefile_release_ident__add_field
 > sentry:0165_auto__del_unique_file_name_checksum
 > sentry:0166_auto__chg_field_user_id__add_field_apikey_allowed_origins
 > sentry:0167_auto__add_field_authprovider_flags
 > sentry:0168_unfill_projectkey_user
 > sentry:0169_auto__del_field_projectkey_user
 > sentry:0170_auto__add_organizationmemberteam__add_unique_organizationmemberteam_te
 > sentry:0171_auto__chg_field_team_owner
 > sentry:0172_auto__del_field_team_owner
 > sentry:0173_auto__del_teammember__del_unique_teammember_team_user
 > sentry:0174_auto__del_field_projectkey_user_added
 > sentry:0175_auto__del_pendingteammember__del_unique_pendingteammember_team_email
 > sentry:0176_auto__add_field_organizationmember_counter__add_unique_organizationmem
 > sentry:0177_fill_member_counters
 > sentry:0178_auto__del_unique_organizationmember_organization_counter
 > sentry:0179_auto__add_field_release_date_released
 > sentry:0180_auto__add_field_release_environment__add_field_release_ref__add_field_
 > sentry:0181_auto__del_field_release_environment__del_unique_release_project_versio
 > sentry:0182_auto__add_field_auditlogentry_actor_label__add_field_auditlogentry_act
 > sentry:0183_auto__del_index_grouphash_hash
 > sentry:0184_auto__del_field_group_checksum__del_unique_group_project_checksum__del
 > sentry:0185_auto__add_savedsearch__add_unique_savedsearch_project_name
 > sentry:0186_auto__add_field_group_first_release
 > sentry:0187_auto__add_index_group_project_first_release
 > sentry:0188_auto__add_userreport

Note - upgrade does not create user, but documentation on hub.docker say: "... initial upgrade will prompt to create an initial user and will fail without it".

root@sentry1:~# docker run -d --name my-sentry -e SENTRY_SECRET_KEY="8b3@_)pishdcwg*8i%i2srn6@8=-urtm63a#f9v3-a(%(fjpd!" --link sentry-redis:redis --link sentry-postgres:postgres sentry
969838694c0c2b0a9c492379fdede81bb77b3f1c63c75d4772289d2eaad7192b

root@sentry1:~# docker run -d --name sentry-celery-beat -e SENTRY_SECRET_KEY="8b3@_)pishdcwg*8i%i2srn6@8=-urtm63a#f9v3-a(%(fjpd!" --link sentry-postgres:postgres --link sentry-redis:redis sentry celery beat
0528fd1746ccf10242ed0e4e46cb3b7b0ed22efbe1581074f3267a6d9648c335

root@sentry1:~# docker run -d --name sentry-celery1 -e SENTRY_SECRET_KEY="8b3@_)pishdcwg*8i%i2srn6@8=-urtm63a#f9v3-a(%(fjpd!" --link sentry-postgres:postgres --link sentry-redis:redis sentry celery worker
b9294b0705f7d54c4bf89c34ca2f740a0da8705dbb67d968639d9ecf53fb5577

Try to create user:

root@sentry1:~# docker run -it --rm -e SENTRY_SECRET_KEY="8b3@_)pishdcwg*8i%i2srn6@8=-urtm63a#f9v3-a(%(fjpd!" --link sentry-redis:redis --link sentry-postgres:postgres sentry createuser
Email: [email protected]
Password: <PASSWORD>
Repeat for confirmation: <PASSWORD>
Should this user be a superuser? [y/N]: y
[ERROR] Unable to fetch internal project
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/sentry/utils/raven.py", line 59, in send
    project = Project.objects.get_from_cache(id=settings.SENTRY_PROJECT)
  File "/usr/local/lib/python2.7/site-packages/sentry/db/models/manager.py", line 259, in get_from_cache
    result = self.get(**kwargs)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/manager.py", line 151, in get
    return self.get_queryset().get(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 304, in get
    num = len(clone)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 77, in __len__
    self._fetch_all()
  File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 857, in _fetch_all
    self._result_cache = list(self.iterator())
  File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 220, in iterator
    for row in compiler.results_iter():
  File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 713, in results_iter
    for rows in self.execute_sql(MULTI):
  File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 786, in execute_sql
    cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 99, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/usr/local/lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 75, in inner
    raise_the_exception(self.db, e)
  File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 73, in inner
    return func(self, *args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 21, in inner
    return func(self, *args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 95, in inner
    six.reraise(exc_info[0], exc_info[0](msg), exc_info[2])
  File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 88, in inner
    return func(self, sql, *args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/base.py", line 44, in execute
    return self.cursor.execute(sql, params)
ProgrammingError: column sentry_project.first_event does not exist
LINE 1: ...project"."date_added", "sentry_project"."status", "sentry_pr...
                                                             ^

SQL: SELECT "sentry_project"."id", "sentry_project"."slug", "sentry_project"."name", "sentry_project"."organization_id", "sentry_project"."team_id", "sentry_project"."public", "sentry_project"."date_added", "sentry_project"."status", "sen
try_project"."first_event" FROM "sentry_project" WHERE "sentry_project"."id" = %s
Traceback (most recent call last):
  File "/usr/local/bin/sentry", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/site-packages/sentry/runner/__init__.py", line 145, in main
    cli(prog_name=get_prog(), obj={}, max_content_width=100)
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 889, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/sentry/runner/decorators.py", line 26, in inner
    return ctx.invoke(f, *args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/sentry/runner/commands/createuser.py", line 87, in createuser
    user.save()
  File "/usr/local/lib/python2.7/site-packages/sentry/models/user.py", line 71, in save
    return super(User, self).save(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 545, in save
    force_update=force_update, update_fields=update_fields)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 573, in save_base
    updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 654, in _save_table
    result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 687, in _do_insert
    using=using, raw=raw)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/manager.py", line 232, in _insert
    return insert_query(self.model, objs, fields, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 1514, in insert_query
    return query.get_compiler(using=using).execute_sql(return_id)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 903, in execute_sql
    cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 99, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/usr/local/lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 75, in inner
    raise_the_exception(self.db, e)
  File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 73, in inner
    return func(self, *args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 21, in inner
    return func(self, *args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 95, in inner
    six.reraise(exc_info[0], exc_info[0](msg), exc_info[2])
  File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 88, in inner
    return func(self, sql, *args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/base.py", line 44, in execute
    return self.cursor.execute(sql, params)
django.db.utils.IntegrityError: null value in column "last_name" violates not-null constraint
DETAIL:  Failing row contains (pbkdf2_sha256$12000$pfZJwCVwhtTR$q3WiiQhGRgV+7IDhXnqqFzoubtsqbxg..., 2016-02-20 21:16:42.422457+00, 1, [email protected], , null, [email protected], t, t, t, 2016-02-20 21:16:42.422575+00, f).

SQL: INSERT INTO "auth_user" ("password", "last_login", "username", "first_name", "email", "is_staff", "is_active", "is_superuser", "is_managed", "date_joined") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "auth_user"."id"
root@sentry1:~#


null value in column "last_name" violates not-null constraint

I want to create a superuser because in the upgrade process I was not asked for anything.
So I used the following code from documentation (obviously with my secret key ;-))
docker run -it --rm -e SENTRY_SECRET_KEY='<secret-key>' --link sentry-redis:redis --link sentry-postgres:postgres sentry createuser

`Email:
Password:
Repeat for confirmation:
Should this user be a superuser? [y/N]: y
[ERROR] Unable to fetch internal project
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/sentry/utils/raven.py", line 78, in send
project = Project.objects.get_from_cache(id=settings.SENTRY_PROJECT)
File "/usr/local/lib/python2.7/site-packages/sentry/db/models/manager.py", line 259, in get_from_cache
result = self.get(*_kwargs)
File "/usr/local/lib/python2.7/site-packages/django/db/models/manager.py", line 151, in get
return self.get_queryset().get(_args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 304, in get
num = len(clone)
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 77, in len
self._fetch_all()
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 857, in _fetch_all
self._result_cache = list(self.iterator())
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 220, in iterator
for row in compiler.results_iter():
File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 713, in results_iter
for rows in self.execute_sql(MULTI):
File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 786, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 99, in exit
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 75, in inner
raise_the_exception(self.db, e)
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 73, in inner
return func(self, *args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 21, in inner
return func(self, _args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 95, in inner
six.reraise(exc_info[0], exc_info0, exc_info[2])
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 88, in inner
return func(self, sql, _args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/base.py", line 39, in execute
return self.cursor.execute(sql, params)
ProgrammingError: column sentry_project.forced_color does not exist
LINE 1: ..."sentry_project"."slug", "sentry_project"."name", "sentry_pr...
^

SQL: SELECT "sentry_project"."id", "sentry_project"."slug", "sentry_project"."name", "sentry_project"."forced_color", "sentry_project"."organization_id", "sentry_project"."team_id", "sentry_project"."public", "sentry_project"."date_added", "sentry_project"."status", "sentry_project"."first_event" FROM "sentry_project" WHERE "sentry_project"."id" = %s
Traceback (most recent call last):
File "/usr/local/bin/sentry", line 11, in
sys.exit(main())
File "/usr/local/lib/python2.7/site-packages/sentry/runner/init.py", line 148, in main
cli(prog_name=get_prog(), obj={}, max_content_width=100)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 716, in call
return self.main(_args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 696, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 889, in invoke
return ctx.invoke(self.callback, *_ctx.params)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 534, in invoke
return callback(_args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/sentry/runner/decorators.py", line 26, in inner
return ctx.invoke(f, _args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/click/core.py", line 534, in invoke
return callback(_args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/sentry/runner/commands/createuser.py", line 87, in createuser
user.save()
File "/usr/local/lib/python2.7/site-packages/sentry/models/user.py", line 71, in save
return super(User, self).save(_args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 545, in save
force_update=force_update, update_fields=update_fields)
File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 573, in save_base
updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 654, in _save_table
result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 687, in _do_insert
using=using, raw=raw)
File "/usr/local/lib/python2.7/site-packages/django/db/models/manager.py", line 232, in _insert
return insert_query(self.model, objs, fields, **kwargs)
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 1514, in insert_query
return query.get_compiler(using=using).execute_sql(return_id)
File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 903, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 99, in exit
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/util.py", line 53, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 75, in inner
raise_the_exception(self.db, e)
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 73, in inner
return func(self, _args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 21, in inner
return func(self, _args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 95, in inner
six.reraise(exc_info[0], exc_info0, exc_info[2])
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 88, in inner
return func(self, sql, _args, *_kwargs)
File "/usr/local/lib/python2.7/site-packages/sentry/db/postgres/base.py", line 39, in execute
return self.cursor.execute(sql, params)
django.db.utils.IntegrityError: null value in column "last_name" violates not-null constraint
DETAIL: Failing row contains (pbkdf2_sha256$12000$wtv7no5qXmpP$IGwGxkBnNSuGJd1Z9dALcs0bOheRilE..., 2016-04-02 09:18:26.442092+00, 2, , , null, , t, t, t, 2016-04-02 09:18:26.44216+00, f).

SQL: INSERT INTO "auth_user" ("password", "last_login", "username", "first_name", "email", "is_staff", "is_active", "is_superuser", "is_managed", "date_joined") VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING "auth_user"."id`

Did I miss anything?

Update documentation on hub.docker.com

Command

docker run -it --rm --link sentry-postgres:postgres --link sentry-redis:redis sentry upgrade

will be failed if env variable SENTRY_SECRET_KEY does not set.

Need

docker run -e SENTRY_SECRET_KEY=MySecretKey -it --rm --link sentry-postgres:postgres --link sentry-redis:redis sentry upgrade

to correct run

Add dependency to redis

It seems that sentry now depends on a redis queue to work.

Configurer redis in the sentry conf and update the README to add link to redis container

remote redis with password

I use a local postgresql container with link command.
&
I use remote redis with password.I add 'password' to redis config in sentry.conf.py and I also build a new image.Upgrade and run well.But when I visit from Browser, "Bad Request (400)" display.

Can't change pip's parameters with -onbuild

It's currently not possible to change pip's parameters in any way. One example is using a proxy to download the requirements which requires either a command line option for pip or an environment variable, which is impossible to set before ONBUILD sets in.

(not sure how to solve this, though)

Setup failing

The docker image is failing setup by this command from the documentation:

docker run -it --rm --link some-postgres:postgres sentry sentry createsuperuser

and this error:

Traceback (most recent call last):
  File "/usr/local/bin/sentry", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/site-packages/sentry/utils/runner.py", line 428, in main
    initializer=initialize_app,
  File "/usr/local/lib/python2.7/site-packages/logan/runner.py", line 191, in run_app
    configure_app(config_path=config_path, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/logan/runner.py", line 104, in configure_app
    raise ValueError("Configuration file does not exist at %r" % (config_path,))
ValueError: Configuration file does not exist at '/home/user/.sentry/sentry.conf.py'

Sentry init

From this PR #8 on, there is no config file anymore.
As mentioned in that PR:

From now on, "sentry init" is going to be required for generating a sane sentry.conf.py.

If you fail to do this, you get this error:

ValueError: Configuration file does not exist at '/.sentry/sentry.conf.py'

So what to do after doing, essentially, a docker run progress and docker run sentry?
The sentry container is stopped now, and we need to run sentry init and have that config inside your container. And keep it there.

There is no mention of how to run the init, but I believe the basics would be something like this

sudo docker run -it --rm --link some-postgres:postgres sentry sentry init /home/user/.sentry/sentry.conf.py

this does create a sentry.conf.py somewhere, but where? Because if I want to go on and create a superuser as the README.md suggest, I still get the issue with the config file:

sudo docker run -it --rm --link some-postgres:postgres sentry sentry --config=/home/user/.sentry/sentry.conf.py createsuperuser

ValueError: Configuration file does not exist at '/home/user/.sentry/sentry.conf.py'

Update documentation to match reality

Since we've take over, there are a lot of holes in the installation and configuration instructions. These should be updated to match what it's really like to run a Sentry instance.

We'll also want to publish these to docs.getsentry.com as well as docker hub.

  • Docker Hub
  • docs.getsentry.com

Provide a way to extend the sentry.conf.py instead of overriding it

Currently, one has to either provide a full sentry.conf.py or remove it completely. Overriding just a specific setting is not possible, which is a shame, since the default sentry.conf.py is neatly done and needn't be copied for every version change.

Context: I needed to override MESSAGE_STORAGE and set it to session storage, since our F5 considers the cookie set by the messaging framework broken and blocks the requests.

Require less setup, be more flexible

The setup for this container is a bit involved. The two steps that I think could be automated with safe defaults in particular are:

  • Manual commands have to be run to get to a running state
    -- Solution here would be to have the container optionally check to see if any databases need to be created and then if any migrations need to be run.
  • Cannot configure a redis cache prefix

My specific use case is in a quick-draw local development environment. It features things like a local dev smtp trap and locally hosted GUI tools. I was hoping to add Sentry, but there's no way for me to configure it exclusively from a docker-compose file. At some point I'm required to create a database. At some point I'm also required to run the migrations.

SENTRY_URL_PREFIX / SENTRY_URL_PREFIX is not configured

Hi,

trying to set up sentry according to the documentation (i.e., https://hub.docker.com/_/sentry/) I ran into the following errors:

!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!
!! SENTRY_ADMIN_EMAIL is not configured !!
!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!

!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!
!! SENTRY_URL_PREFIX is not configured !!
!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!

These errors can be found in the logs of my sentry docker instance (i.e., docker logs sentry-sentry) and when running a sentry upgrade instance.

docker run -e "SENTRY_URL_PREFIX=https://x" -e "SENTRY_ADMIN_EMAIL=x@y" -it --rm --link sentry-postgres:postgres --link sentry-redis:redis sentry sentry upgrade

My sentry-sentry instance has been created using:

docker run -e "SENTRY_URL_PREFIX=https://x" -e "ADMIN_EMAIL=x@y" -d --name sentry-sentry -p 9001:9000 --link sentry-redis:redis --link sentry-postgres:postgres sentry

Any ideas what I might be doing wrong here or might this even be a bug?

Thanks!

Cheers,
Patrick

Sentry 7

The last version of this image uses Sentry 6.4.4. Sentry 7.0 has been released last January, and now the last version is 7.1.4.

Is there any plan to upgrade this image ?

6.4.4 does not start

When trying to run the container, sadly it will not do so...

docker run --name sentry --link pg1:postgres -t -i --rm=true sentry

Traceback (most recent call last):
File "/usr/local/bin/sentry", line 9, in
load_entry_point('sentry==6.4.4', 'console_scripts', 'sentry')()
File "/usr/local/lib/python2.7/site-packages/sentry/utils/runner.py", line 310, in main
initializer=initialize_app,
File "/usr/local/lib/python2.7/site-packages/logan/runner.py", line 167, in run_app
configure_app(config_path=config_path, **kwargs)
File "/usr/local/lib/python2.7/site-packages/logan/runner.py", line 89, in configure_app
raise ValueError("Configuration file does not exist at %r" % (config_path,))
ValueError: Configuration file does not exist at '/.sentry/sentry.conf.py'

Take over ownership

How do we (Sentry) become owners of this repository on Docker Hub?

I was going to start publishing to a getsentry/sentry, but realized, it'd probably be better if we owned this instead and controlled our own releases, etc.

I was going to be publishing a new repository at https://github.com/getsentry/docker-sentry. Would we be able to point that one to the official registry? Or would it be developed in here?

Thanks.

onbuild cannot work

i write sentry-slack into requirements.txt and i use sentry:onbuild to run a docker server。but sentry-slack cannot be install into plugins.

Email notificaitions not sending

See getsentry/sentry#2549 for full story

>>> mail.get_send_to(project)
[1]

...shows that I'm on the list.

Clicking "send test" on the Mail admin page works fine, as does

project = Project.objects.get(slug='django')
message = MessageBuilder('test')
message.add_users((1,), project)
message.send()

But I never get emails for new events or regressions.

Sentry in docker has no notification email

I install sentry in docker. I can see all events but I cannot receive any notification mail.
It's strange that the test mail can notify successfully.

  • Sentry 8.0.5
  • Python 2.7.11

I have made sure that

  • Mail plugin is enabled and project is enabled in http:/localhost:8080/account/settings/notifications
    image
  • The queue works fine.
    image
  • I did not see any error in log.
    `{"log":"[2016-02-02 06:06:02,417: INFO/MainProcess] Scheduler: Sending due task send-ping (sentry.tasks.send_ping)\n","stream":"stderr","time":"2016-02-02T06:06:02.418920036Z"}
    {"log":"[2016-02-02 06:06:02,421: INFO/MainProcess] Scheduler: Sending due task check-auth (sentry.tasks.check_auth)\n","stream":"stderr","time":"2016-02-02T06:06:02.421568292Z"}
    {"log":"[2016-02-02 06:06:02,619: INFO/MainProcess] Scheduler: Sending due task schedule-digests (sentry.tasks.digests.schedule_digests)\n","stream":"stderr","time":"2016-02-02T06:06:02.620291103Z"}
    {"log":"[2016-02-02 06:06:04,723: INFO/MainProcess] Scheduler: Sending due task flush-buffers (sentry.tasks.process_buffer.process_pending)\n","stream":"stderr","time":"2016-02-02T06:06:04.724734059Z"}
    {"log":"[2016-02-02 06:06:04,730: INFO/MainProcess] Scheduler: Sending due task sync-options (sentry.tasks.options.sync_options)\n","stream":"stderr","time":"2016-02-02T06:06:04.734650187Z"}
    {"log":"[2016-02-02 06:06:14,732: INFO/MainProcess] Scheduler: Sending due task flush-buffers (sentry.tasks.process_buffer.process_pending)\n","stream":"stderr","time":"2016-02-02T06:06:14.732939296Z"}
    {"log":"[2016-02-02 06:06:14,757: INFO/MainProcess] Scheduler: Sending due task sync-options (sentry.tasks.options.sync_options)\n","stream":"stderr","time":"2016-02-02T06:06:14.760265938Z"}
    {"log":"[2016-02-02 06:06:24,763: INFO/MainProcess] Scheduler: Sending due task flush-buffers (sentry.tasks.process_buffer.process_pending)\n","stream":"stderr","time":"2016-02-02T06:06:24.763518561Z"}
    {"log":"[2016-02-02 06:06:24,779: INFO/MainProcess] Scheduler: Sending due task sync-options (sentry.tasks.options.sync_options)\n","stream":"stderr","time":"2016-02-02T06:06:24.779931587Z"}
    {"log":"[2016-02-02 06:06:32,634: INFO/MainProcess] Scheduler: Sending due task schedule-digests (sentry.tasks.digests.schedule_digests)\n","stream":"stderr","time":"2016-02-02T06:06:32.635682837Z"}
    {"log":"[2016-02-02 06:06:34,780: INFO/MainProcess] Scheduler: Sending due task flush-buffers (sentry.tasks.process_buffer.process_pending)\n","stream":"stderr","time":"2016-02-02T06:06:34.781486883Z"}

Please tell me any idea how to find the problem and fix this issue.

Many thanks.
Rongqing

Change SMTP configs

Hi there. Do we have a way to configure SMTP credentials like SENTRY_SMTP_HOSTNAME etc?
I tried to run sentry-celery container with env variables, like:
docker run ...... -e SENTRY_SMTP_HOSTNAME=smtp_host ...
And nothing.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.