社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
方法一:
按照官网安装docker:https://docs.docker.com/install/linux/docker-ce/centos/
方法二:
执行下面这个安装脚本:
#/bin/sh
# update yum
sudo yum update -y
# install some tools
sudo yum install -y git vim gcc glibc-static telnet bridge-utils
# install docker
curl -fsSL get.docker.com -o get-docker.sh
#sh /vagrant/get-docker.sh --mirror=Aliyun
sh get-docker.sh --mirror=Aliyun
# start docker service
sudo groupadd docker
sudo usermod -aG docker username # !!!!!! 一定要把username换成你的用户名,不然只有sudo权限才能运行docker
sudo systemctl start docker.service
rm -rf get-docker.sh
安装官网安装docker-compose:https://docs.docker.com/compose/install/
安装git:
$ sudo yum install git
下载docker镜像并构建容器
$ git clone https://github.com/getsentry/onpremise.git
$ cd onpremise
按照GitHub安装步骤进行安装:https://github.com/getsentry/onpremise
点打开链接,按照下图红框进行安装,
添加key到.env中
[dy@iz2zeacp86oa3ile21ueg2z onpremise]$ vi .env
# Run `docker-compose run web config generate-secret-key`
# to get the SENTRY_SECRET_KEY value.
SENTRY_SECRET_KEY= 'e@lcae#hd&g6p4)qzkmfi8iu#n(&j@vzx4*hkt0zm+n^o-4k37' # 此处要写自己生成的key
解决方法:
打开一个终端,进入sentry的web的shell里面,其实就是一个python端# docker-compose run --rm web shell
输入以下命令进行初始化数据
from sentry.models import Project
from sentry.receivers.core import create_default_projects
create_default_projects([Project])
退出shell,创建自己的用户# docker-compose run --rm web createuser
重新启动sentry服务
$ docker-compose down # 停止
$ docker-compose up -d # 启动
当然也可以查看数据库用户信息:
使用docker命令进入postgres数据库# docker exec -it onpremise_postgres_1 bash
进入postgres数据库# psql -h 127.0.0.1 -d postgres -U postgres
查看这两个表是否有数据sentry_project,sentry_organizationation
postgres=# select * from sentry_project;
postgres=# select * from sentry_organization;
解决方法:重新执行安装步骤中的3~4,重新生成key,并重新生成数据表,如下图:
异常情况如下图:
统计中有数据:
解决方法:
执行这个命令进入 postgres docker
docker exec -it onpremise_postgres_1 bash
进入postgre database
psql -h 127.0.0.1 -d postgres -U postgres
执行这段代码:
create or replace function sentry_increment_project_counter(
project bigint, delta int) returns int as $$
declare
new_val int;
begin
loop
update sentry_projectcounter set value = value + delta
where project_id = project
returning value into new_val;
if found then
return new_val;
end if;
begin
insert into sentry_projectcounter(project_id, value)
values (project, delta)
returning value into new_val;
return new_val;
exception when unique_violation then
end;
end loop;
end
$$ language plpgsql;
这样就可以正常工作了!!!!!!
打开docker-compose.yml文件(在git clone 的目录onpremise下)$ vi docker-compose.yml
复制以下几行到docker-compose.yml文件
SENTRY_EMAIL_HOST: 'smtp.sina.com'
SENTRY_EMAIL_USER: 'dongyang***@sina.com'
SENTRY_EMAIL_PASSWORD: '*****' # 填写自己的密码
SENTRY_SERVER_EMAIL: 'dongyang***@sina.com'
SENTRY_EMAIL_PORT: 587 # 阿里云必须写这一项
SENTRY_EMAIL_USE_TLS: 'true' # 阿里云必须写这一项
重新启动sentry服务
$ docker-compose down # 停止
$ docker-compose up -d # 启动
如下图可以测试邮件是否可以发送
ip:9000/account/settings/
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!