Docker安装配置Sentry及中间遇到的坑
使用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 update
apt-get install vim
编辑/etc/sentry/config.yml
mail.backend: 'smtp'
mail.host: 'smtp.exmail.qq.com'
mail.port: 587
mail.username: 'xxx@xxx.com'
mail.password: 'password'
mail.use-tls: true
The email address to send on behalf of
mail.from: 'xxx@xxx.com'
重启容器;回到/manage/status/mail/页面,可以看到修改的配置出来了,点击测试发送按钮后可以收到测试邮件了。
4、邀请注册邮件收不到
测试邮件能发送成功,但邀请注册和邮箱认证邮件收不到。根据Github已知问题#40中的提示,worker里的配置需要跟web容器的配置保持一致。配置方式类似参考上面第3条进入sentry-work-1进行同样修改。
修改完成,同样重启容器后,回到/settings/account/emails/页面,点击发送认证邮件,能正常收到了。
参考文章
还没有人抢沙发呢~