用Docker神器來部署Sentry,非常簡單,參考官方Sentry鏡像的使用說明一步步操作即可。這裡補充幾點中間遇到過的坑。
1、數據持久化
在第2步啟動Postgres容器的時候可以通過-v參數指定容器內數據目錄映射到主機目錄,從而使得數據能持久化保存到主機上,不至於容器損壞導致所有數據丟失。完整命令修改為如下:
$ docker run -d --name sentry-postgres -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=sentry -v /data/sentry/postgresql/data:/var/lib/postgresql/data postgres
2、進入Sentry系統後,項目的DSN為空白
可以進入/manage/settings頁面,重新設置Root URL保存,再回到項目設置頁面DSN就能生成了。
這個是Github上的已知問題。
3、配置發送郵件
使用以下命令進入sentry容器
docker exec -it my-sentry /bin/bash
在容器內安裝vim
apt-get updateapt-get install vim
編輯/etc/sentry/config.yml
mail.backend: 'smtp'mail.host: 'smtp.exmail.qq.com'mail.port: 587mail.username: '[email protected]'mail.password: 'password'mail.use-tls: trueThe email address to send on behalf ofmail.from: '[email protected]'
重啟容器;回到/manage/status/mail/頁面,可以看到修改的配置出來了,點擊測試發送按鈕後可以收到測試郵件了。
4、邀請註冊郵件收不到
測試郵件能發送成功,但邀請註冊和郵箱認證郵件收不到。根據Github已知問題#40中的提示,worker裡的配置需要跟web容器的配置保持一致。配置方式類似參考上面第3條進入sentry-work-1進行同樣修改。
修改完成,同樣重啟容器後,回到/settings/account/emails/頁面,點擊發送認證郵件,能正常收到了。
![Docker安裝配置Sentry及中間遇到的坑](http://p2.ttnews.xyz/loading.gif)
閱讀更多 ethnicity 的文章
關鍵字: PostgreSQL Bash Vim