{"id":307345,"date":"2020-07-22T21:00:22","date_gmt":"2020-07-22T21:00:22","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=307345"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=307345","title":{"rendered":"\u041a\u0430\u043a \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c Sentry \u043f\u043e\u0441\u043b\u0435 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/512016\/\">\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u042f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 Sentry \u043f\u043e\u0441\u043b\u0435 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f. <br \/>  <a name=\"habracut\"><\/a><br \/>  \u0427\u0442\u043e \u0436\u0435 \u0442\u0430\u043a\u043e\u0435 <a href=\"https:\/\/sentry.io\" rel=\"nofollow\">Sentry<\/a>?<\/p>\n<p>  \u042d\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0448\u0438\u0440\u043e\u043a\u0438\u0439 \u0441\u043f\u0435\u043a\u0442\u0440 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445, \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043d\u044b\u0445, \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043d\u044b\u0445 \u0438 \u0440\u043e\u0434\u043d\u044b\u0445 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u0438 \u0441\u0440\u0435\u0434, \u0432\u043a\u043b\u044e\u0447\u0430\u044f PHP, Node. js, Python, Ruby, C #, Java, Go, React, Angular, Vue, JavaScript \u0438 \u0434\u0440\u0443\u0433\u0438\u0435.<\/p>\n<p>  \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u0440\u043e\u0441\u0442\u043e \u0438 \u043d\u0435\u043f\u0440\u0438\u043d\u0443\u0436\u0434\u0451\u043d\u043d\u043e \u0432\u0441\u0451 \u043f\u043e\u043b\u043e\u043c\u0430\u043b\u043e\u0441\u044c. <\/p>\n<p>  \u0416\u0438\u043b\u0438 \u043c\u044b \u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u0438 9.0.0 \u0438 \u043f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f. \u041f\u043e\u0449\u0443\u043f\u0430\u0432 web \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 10.0.0, \u043f\u0440\u0438\u043d\u044f\u043b \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u043d\u0435\u0451. \u042d\u0442\u043e \u0431\u044b\u043b\u0430 \u0441\u0430\u043c\u0430\u044f \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430! <\/p>\n<p>  \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0448\u043b\u043e \u0432 \u0448\u0442\u0430\u0442\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 9.1.2 \u0437\u0430\u0442\u0435\u043c, \u043d\u0430 10.0.0 (\u0438\u043d\u0430\u0447\u0435 \u043d\u0435\u043b\u044c\u0437\u044f). \u0414\u0430\u043b\u0435\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b, \u0447\u0442\u043e \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f worker. \u041f\u0440\u0438\u0447\u0438\u043d\u043e\u0439 \u044d\u0442\u043e\u043c\u0443 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439.<\/p>\n<p>  \u041f\u043e\u043f\u044b\u0442\u043a\u0438 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u0437\u0430\u0441\u0443\u043d\u0443\u0442\u044c \u0438\u0445 \u0432 k8s \u043d\u0435 \u0443\u0432\u0435\u043d\u0447\u0430\u043b\u0438\u0441\u044c \u0443\u0441\u043f\u0435\u0445\u043e\u043c. <\/p>\n<p>  \u0411\u044b\u043b\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u0442\u043a\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u043d\u0430\u0437\u0430\u0434. \u041d\u043e \u0442\u0443\u0442 \u043c\u0435\u043d\u044f \u0436\u0434\u0430\u043b\u043e \u0440\u0430\u0437\u043e\u0447\u0430\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u041f\u043e\u0441\u043b\u0435 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 10 \u0432\u0435\u0440\u0441\u0438\u044e, \u0447\u0430\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u0435\u0437\u0436\u0430\u0435\u0442 \u0432 clickhouse \u0438 \u0443\u0434\u0430\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0437 Postgres. <\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 3 \u0447\u0430\u0441\u043e\u0432 \u0440\u0430\u0431\u043e\u0442 \u0438 \u043f\u0440\u0438\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f DBA \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u044b\u043b\u0438 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0434\u043e \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f.<\/p>\n<p>  \u041a\u0430\u043a?<\/p>\n<p>  \u0421\u0434\u0435\u043b\u0430\u043b\u0438 \u0440\u044f\u0434\u043e\u043c \u0438\u043d\u0441\u0442\u0430\u043d\u0441 PG, \u0437\u0430\u043a\u0438\u043d\u0443\u043b\u0438 \u0442\u0443\u0434\u0430 \u0441\u0445\u0435\u043c\u0443 \u043e\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 9.0.0 \u0438 \u043d\u0430\u0447\u0430\u043b\u0438 \u043f\u043e\u0442\u0430\u0431\u043b\u0438\u0447\u043d\u043e\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435. \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u0431\u0435\u0437 \u043e\u0448\u0438\u0431\u043e\u043a \u0438 \u043d\u0430\u043f\u0438\u043b\u044c\u043d\u0438\u043a\u0430 \u0442\u0443\u0442 \u043d\u0435 \u043e\u0431\u043e\u0448\u043b\u043e\u0441\u044c.<\/p>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043d\u0435 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f. \u041f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u0441\u0451 \u0436\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u044e 9.1.2. <\/p>\n<p>  \u0421\u043e\u0431\u0440\u0430\u043b \u043e\u0431\u0440\u0430\u0437, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e: <\/p>\n<pre><code class=\"bash\">sentry upgrade<\/code><\/pre>\n<p>  \u0438 \u0432\u0438\u0434\u0438\u043c \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0435 \u0447\u0443\u0434\u0435\u0441\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435: <\/p>\n<pre><code class=\"bash\"> ! I'm not trusting myself; either fix this yourself by fiddling  ! with the south_migrationhistory table, or pass --delete-ghost-migrations  ! to South to have it delete ALL of these records (this may not be good). Exception in thread Thread-1 (most likely raised during interpreter shutdown)<\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0434\u043e\u043b\u0433\u0438\u0445 \u043f\u043e\u0438\u0441\u043a\u043e\u0432, \u043f\u0440\u043e\u0431 \u0438 \u043e\u0448\u0438\u0431\u043e\u043a \u0431\u044b\u043b\u043e \u043d\u0430\u0439\u0434\u0435\u043d\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435. <\/p>\n<p>  \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0445\u0435\u043c\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438.<\/p>\n<p>  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043a\u043b\u043e\u043d\u0438\u0440\u0443\u0435\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439:<\/p>\n<pre><code class=\"bash\">git clone https:\/\/github.com\/getsentry\/onpremise.git<\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u0432\u0435\u0442\u043a\u0443 9.1.2, \u0442\u0430\u043a \u043a\u0430\u043a \u0432\u0435\u0442\u043a\u0438 9.0.0 \u0443\u0436\u0435 \u043d\u0435\u0442.<\/p>\n<pre><code class=\"bash\">cd onpremise &amp;&amp; git checkout tags\/9.1.2<\/code><\/pre>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043f\u0440\u0430\u0432\u0438\u043c \u043e\u0431\u0440\u0430\u0437 \u0432 Dockerfile:<\/p>\n<pre><code class=\"bash\">#cat Dockerfile  ARG SENTRY_IMAGE FROM ${SENTRY_IMAGE:-sentry:9.0.0}-onbuild<\/code><\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c \u043f\u0440\u0430\u0432\u0438\u043c compose file<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">docker-compose.yml<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># NOTE: This docker-compose.yml is meant to be just an example of how # you could accomplish this on your own. It is not intended to work in # all use-cases and must be adapted to fit your needs. This is merely # a guideline.  # See docs.getsentry.com\/on-premise\/server\/ for full # instructions  version: '3.4'  x-defaults: &amp;defaults   restart: unless-stopped   build:     context: .   depends_on:     - redis    # - postgres     - memcached     - smtp   env_file: .env   environment:     SENTRY_MEMCACHED_HOST: memcached     SENTRY_REDIS_HOST: redis     SENTRY_POSTGRES_HOST: 'sentry.cl.ats'     SENTRY_DB_USER: 'sentryDB'     SENTRY_DB_NAME: 'sentry_user'     SENTRY_DB_PASSWORD: 'sentry_passwd'     SENTRY_POSTGRES_PORT: 5432     SENTRY_EMAIL_HOST: smtp   volumes:     - sentry-data:\/var\/lib\/sentry\/files   services:   smtp:     restart: unless-stopped     image: tianon\/exim4    memcached:     restart: unless-stopped     image: memcached:1.5-alpine    redis:     restart: unless-stopped     image: redis:3.2-alpine    #postgres:   #  restart: unless-stopped   #  image: postgres:9.5   #  environment:   #    POSTGRES_HOST_AUTH_METHOD: 'trust'   #  volumes:   #    - sentry-postgres:\/var\/lib\/postgresql\/data    web:     &lt;&lt;: *defaults     ports:       - '9000:9000'    cron:     &lt;&lt;: *defaults     command: run cron    worker:     &lt;&lt;: *defaults     command: run worker   volumes:     sentry-data:       external: true     #sentry-postgres:     #  external: true <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u0439. \u0422\u0430\u043a \u043a\u0430\u043a \u0443 \u043c\u0435\u043d\u044f \u0435\u0441\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0430\u043d\u0441 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u0442\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 compose \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u044e, \u0442\u0430\u043a\u0436\u0435 \u043d\u0435 \u043d\u0443\u0436\u0435\u043d volume sentry-postgres.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0439 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u0431\u043e\u0440\u043a\u0443:<\/p>\n<pre><code class=\"bash\">.\/install.sh <\/code><\/pre>\n<p>  \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0441\u043a\u043e\u0447\u0438\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0430, \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044f \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u043b \u0432\u044b\u0448\u0435. \u041d\u0435 \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u043c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0438 \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u0442\u0441\u044f, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code class=\"bash\">docker-compose run --rm web sentry django migrate --delete-ghost-migrations<\/code><\/pre>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\">Creating network &quot;onpremise_default&quot; with the default driver Creating onpremise_memcached_1 ... done Creating onpremise_smtp_1      ... done Creating onpremise_redis_1     ... done 21:30:26 [INFO] sentry.plugins.github: apps-not-configured Running migrations for sentry: - Nothing to migrate.  - Loading initial data for sentry. Installed 0 object(s) from 0 fixture(s) Running migrations for nodestore: - Nothing to migrate.  - Loading initial data for nodestore. Installed 0 object(s) from 0 fixture(s) Running migrations for search: - Nothing to migrate.  - Loading initial data for search. Installed 0 object(s) from 0 fixture(s) Running migrations for social_auth: - Nothing to migrate.  - Loading initial data for social_auth. Installed 0 object(s) from 0 fixture(s) Running migrations for tagstore: - Nothing to migrate.  - Loading initial data for tagstore. Installed 0 object(s) from 0 fixture(s) Running migrations for jira_ac: - Nothing to migrate.  - Loading initial data for jira_ac. Installed 0 object(s) from 0 fixture(s) Running migrations for hipchat_ac: - Nothing to migrate.  - Loading initial data for hipchat_ac. Installed 0 object(s) from 0 fixture(s)<\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c upgrade.<\/p>\n<pre><code class=\"bash\">docker-compose run --rm web sentry upgrade<\/code><\/pre>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">Stdout<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\">Starting onpremise_smtp_1      ... done Starting onpremise_memcached_1 ... done Starting onpremise_redis_1     ... done 21:30:48 [INFO] sentry.plugins.github: apps-not-configured Syncing... Creating tables ... Installing custom SQL ... Installing indexes ... Installed 0 object(s) from 0 fixture(s)  Synced:  &gt; django.contrib.admin  &gt; django.contrib.auth  &gt; django.contrib.contenttypes  &gt; django.contrib.messages  &gt; django.contrib.sessions  &gt; django.contrib.sites  &gt; django.contrib.staticfiles  &gt; crispy_forms  &gt; debug_toolbar  &gt; raven.contrib.django.raven_compat  &gt; rest_framework  &gt; sentry.plugins.sentry_interface_types  &gt; sentry.plugins.sentry_mail  &gt; sentry.plugins.sentry_urls  &gt; sentry.plugins.sentry_useragents  &gt; sentry.plugins.sentry_webhooks  &gt; sudo  &gt; south  &gt; sentry_plugins.slack  Not synced (use migrations):  - sentry  - sentry.nodestore  - sentry.search  - social_auth  - sentry.tagstore  - sentry_plugins.jira_ac  - sentry_plugins.hipchat_ac (use .\/manage.py migrate to migrate these) Running migrations for sentry: - Nothing to migrate.  - Loading initial data for sentry. Installed 0 object(s) from 0 fixture(s) Running migrations for nodestore: - Nothing to migrate.  - Loading initial data for nodestore. Installed 0 object(s) from 0 fixture(s) Running migrations for search: - Nothing to migrate.  - Loading initial data for search. Installed 0 object(s) from 0 fixture(s) Running migrations for social_auth: - Nothing to migrate.  - Loading initial data for social_auth. Installed 0 object(s) from 0 fixture(s) Running migrations for tagstore: - Nothing to migrate.  - Loading initial data for tagstore. Installed 0 object(s) from 0 fixture(s) Running migrations for jira_ac: - Nothing to migrate.  - Loading initial data for jira_ac. Installed 0 object(s) from 0 fixture(s) Running migrations for hipchat_ac: - Nothing to migrate.  - Loading initial data for hipchat_ac. Installed 0 object(s) from 0 fixture(s) Creating missing DSNs Correcting Group.num_comments counter<\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0418\u0442\u0430\u043a, \u0441\u0445\u0435\u043c\u0430 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430. \u041c\u043e\u0436\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u043d\u0430 9.1.2.<\/p>\n<p>  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432 Dockerfile \u043c\u0435\u043d\u044f\u0435\u043c \u0432\u0435\u0440\u0441\u0438\u044e \u043d\u0430 9.1.2:<\/p>\n<pre><code class=\"bash\">ARG SENTRY_IMAGE FROM ${SENTRY_IMAGE:-sentry:9.1.2}-onbuild<\/code><\/pre>\n<p> \u0418 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c install.sh<\/p>\n<pre><code class=\"bash\">.\/install.sh<\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u0441\u0451 \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u0432\u0435\u0440\u043d\u043e, \u0442\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0441\u044f \u0431\u0435\u0437 \u043e\u0448\u0438\u0431\u043e\u043a. \u0412\u044b\u0432\u043e\u0434 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u043e\u0439:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">Stdout<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\"># .\/install.sh  Checking minimum requirements...  Creating volumes for persistent storage... Created sentry-data.  .env already exists, skipped creation.  Building and tagging Docker images...  smtp uses an image, skipping memcached uses an image, skipping redis uses an image, skipping Building web Step 1\/2 : ARG SENTRY_IMAGE Step 2\/2 : FROM ${SENTRY_IMAGE:-sentry:9.1.2}-onbuild # Executing 4 build triggers  ---&gt; Running in 6c97f9fcaf63 DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https:\/\/pip.pypa.io\/en\/latest\/development\/release-process\/#python-2-support Removing intermediate container 6c97f9fcaf63  ---&gt; Running in 9e0f65ee3af6 Removing intermediate container 9e0f65ee3af6  ---&gt; Running in 09754c44319c Removing intermediate container 09754c44319c  ---&gt; a12fa31c2675  Successfully built a12fa31c2675 Successfully tagged onpremise_web:latest Building cron Step 1\/2 : ARG SENTRY_IMAGE Step 2\/2 : FROM ${SENTRY_IMAGE:-sentry:9.1.2}-onbuild # Executing 4 build triggers  ---&gt; Using cache  ---&gt; Using cache  ---&gt; Using cache  ---&gt; Using cache  ---&gt; a12fa31c2675  Successfully built a12fa31c2675 Successfully tagged onpremise_cron:latest Building worker Step 1\/2 : ARG SENTRY_IMAGE Step 2\/2 : FROM ${SENTRY_IMAGE:-sentry:9.1.2}-onbuild # Executing 4 build triggers  ---&gt; Using cache  ---&gt; Using cache  ---&gt; Using cache  ---&gt; Using cache  ---&gt; a12fa31c2675  Successfully built a12fa31c2675 Successfully tagged onpremise_worker:latest  Docker images built.  Generating secret key... Secret key written to .env  Setting up database... Starting onpremise_smtp_1      ... done Starting onpremise_redis_1     ... done Starting onpremise_memcached_1 ... done 21:35:07 [WARNING] sentry.utils.geo: settings.GEOIP_PATH_MMDB not configured. 21:35:10 [INFO] sentry.plugins.github: apps-not-configured Syncing... Creating tables ... Installing custom SQL ... Installing indexes ... Installed 0 object(s) from 0 fixture(s) Migrating... Running migrations for sentry:  - Migrating forwards to 0472_auto__add_field_sentryapp_author.  &gt; sentry:0424_auto__add_field_integration_status  &gt; sentry:0425_auto__add_index_pullrequest_organization_id_merge_commit_sha  &gt; sentry:0425_remove_invalid_github_idps  &gt; sentry:0426_auto__add_sentryappinstallation__add_sentryapp__add_field_user_is_sent  &gt; sentry:0427_auto__add_eventattachment__add_unique_eventattachment_project_id_event  &gt; sentry:0428_auto__add_index_eventattachment_project_id_date_added  &gt; sentry:0429_auto__add_integrationexternalproject__add_unique_integrationexternalpr  &gt; sentry:0430_auto__add_field_organizationintegration_status  &gt; sentry:0431_auto__add_field_externalissue_metadata  &gt; sentry:0432_auto__add_field_relay_is_internal  &gt; sentry:0432_auto__add_index_userreport_date_added__add_index_eventattachment_date_  &gt; sentry:0433_auto__add_field_relay_is_internal__add_field_userip_country_code__add_  &gt; sentry:0434_auto__add_discoversavedqueryproject__add_unique_discoversavedqueryproj  &gt; sentry:0435_auto__add_field_discoversavedquery_created_by  &gt; sentry:0436_rename_projectdsymfile_to_projectdebugfile  &gt; sentry:0437_auto__add_field_sentryapp_status  &gt; sentry:0438_auto__add_index_sentryapp_status__chg_field_sentryapp_proxy_user__chg_  &gt; sentry:0439_auto__chg_field_sentryapp_owner  &gt; sentry:0440_auto__del_unique_projectdebugfile_project_debug_id__add_index_projectd  &gt; sentry:0441_auto__add_field_projectdebugfile_data  &gt; sentry:0442_auto__add_projectcficachefile__add_unique_projectcficachefile_project_  &gt; sentry:0443_auto__add_field_organizationmember_token_expires_at  &gt; sentry:0443_auto__del_dsymapp__del_unique_dsymapp_project_platform_app_id__del_ver  &gt; sentry:0444_auto__add_sentryappavatar__add_field_sentryapp_redirect_url__add_field  &gt; sentry:0445_auto__add_promptsactivity__add_unique_promptsactivity_user_feature_org  &gt; sentry:0446_auto__add_index_promptsactivity_project_id  &gt; sentry:0447_auto__del_field_promptsactivity_organization__add_field_promptsactivit  &gt; sentry:0448_auto__add_field_sentryapp_is_alertable  &gt; sentry:0449_auto__chg_field_release_owner  &gt; sentry:0450_auto__del_grouphashtombstone__del_unique_grouphashtombstone_project_ha  &gt; sentry:0451_auto__del_field_projectbookmark_project_id__add_field_projectbookmark_  &gt; sentry:0452_auto__add_field_sentryapp_events  &gt; sentry:0452_auto__del_field_releaseenvironment_organization_id__del_field_releasee  &gt; sentry:0453_auto__add_index_releasefile_release_name  &gt; sentry:0454_resolve_duplicate_0452  &gt; sentry:0455_auto__add_field_groupenvironment_first_seen  &gt; sentry:0456_auto__add_dashboard__add_unique_dashboard_organization_title__add_widg  &gt; sentry:0457_auto__add_field_savedsearch_is_global__chg_field_savedsearch_project__  &gt; sentry:0457_auto__add_monitorcheckin__add_monitor__add_index_monitor_type_next_che  &gt; sentry:0458_global_searches_data_migration Saved Searchs: 100% |########################################################################################################################################################################| Time: 0:00:07  &gt; sentry:0459_global_searches_unique_constraint  &gt; sentry:0460_auto__add_field_servicehook_organization_id  &gt; sentry:0461_event_attachment_indexes  &gt; sentry:0462_auto__add_servicehookproject  &gt; sentry:0462_releaseenvironment_project_id  &gt; sentry:0463_backfill_service_hook_project  &gt; sentry:0464_auto__add_sentryappcomponent__add_field_sentryapp_schema  &gt; sentry:0464_groupenvironment_foreignkeys  &gt; sentry:0465_sync  &gt; sentry:0466_auto__add_platformexternalissue__add_unique_platformexternalissue_grou  &gt; sentry:0467_backfill_integration_status  &gt; sentry:0468_auto__add_field_projectdebugfile_code_id__add_index_projectdebugfile_p  &gt; sentry:0468_recent_search  &gt; sentry:0469_fix_state  &gt; sentry:0470_org_saved_search  &gt; sentry:0471_global_saved_search_types  &gt; sentry:0472_auto__add_field_sentryapp_author The following content types are stale and need to be deleted:      sentry | dsymobject     sentry | dsymapp     sentry | useridentity     sentry | dsymsymbol     sentry | dsymsdk     sentry | globaldsymfile     sentry | versiondsymfile     sentry | projectdsymfile     sentry | grouphashtombstone     sentry | minidumpfile     sentry | dsymbundle  Any objects related to these content types by a foreign key will also be deleted. Are you sure you want to delete these content types? If you're unsure, answer 'no'.      Type 'yes' to continue, or 'no' to cancel: yes Running migrations for sentry.nodestore: - Nothing to migrate. Running migrations for sentry.search: - Nothing to migrate. Running migrations for social_auth: - Nothing to migrate. Running migrations for sentry.tagstore: - Nothing to migrate. Running migrations for sentry_plugins.hipchat_ac: - Nothing to migrate. Running migrations for sentry_plugins.jira_ac: - Nothing to migrate.  Synced:  &gt; django.contrib.admin  &gt; django.contrib.auth  &gt; django.contrib.contenttypes  &gt; django.contrib.messages  &gt; django.contrib.sessions  &gt; django.contrib.sites  &gt; django.contrib.staticfiles  &gt; crispy_forms  &gt; debug_toolbar  &gt; rest_framework  &gt; sentry.plugins.sentry_interface_types  &gt; sentry.plugins.sentry_mail  &gt; sentry.plugins.sentry_urls  &gt; sentry.plugins.sentry_useragents  &gt; sentry.plugins.sentry_webhooks  &gt; sudo  &gt; south  Migrated:  - sentry  - sentry.nodestore  - sentry.search  - social_auth  - sentry.tagstore  - sentry_plugins.hipchat_ac  - sentry_plugins.jira_ac Creating missing DSNs Correcting Group.num_comments counter Cleaning up...  ---------------- You're all done! Run the following command get Sentry running:    docker-compose up -d <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0412\u0441\u0451, \u0432\u0435\u0440\u0441\u0438\u044f 9.1.2 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430.<\/p>\n<p>  \u0412\u044b\u0432\u043e\u0434\u044b.<\/p>\n<p>  \u042d\u0442\u043e \u0432\u0441\u0435\u043c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043f\u0440\u043e\u043f\u0438\u0441\u043d\u044b\u0435 \u0438\u0441\u0442\u0438\u043d\u044b. \u041d\u0435 \u0441\u043f\u0435\u0448\u0438\u0442\u0435, \u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u044b\u0435 \u043a\u043e\u043f\u0438\u0438 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0439\u0442\u0435 \u0432\u0441\u0451 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437.<\/p>\n<p>  \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435!<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/512016\/\"> https:\/\/habr.com\/ru\/post\/512016\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/512016\/\">\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u042f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 Sentry \u043f\u043e\u0441\u043b\u0435 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f.   <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-307345","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/307345","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=307345"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/307345\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=307345"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=307345"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=307345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}