发布v4版本 (#651)

* init
master
qinyening 4 years ago committed by GitHub
parent bea0532872
commit 59366e4d3a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

10
.gitignore vendored

@ -45,16 +45,6 @@ _test
/n9e-* /n9e-*
/src/modules/agent/agent
/src/modules/ams/ams
/src/modules/index/index
/src/modules/job/job
/src/modules/judge/judge
/src/modules/monapi/monapi
/src/modules/rdb/rdb
/src/modules/transfer/transfer
/src/modules/tsdb/tsdb
tmp/ tmp/
main main
Makefile Makefile

@ -125,4 +125,18 @@
- prober去掉组件采集默认的白名单设置 - prober去掉组件采集默认的白名单设置
升级方法: 升级方法:
- 替换n9e-rdb n9e-prober n9e-monapi n9e-transfer二进制 - 替换n9e-rdb n9e-prober n9e-monapi n9e-transfer二进制
- 将etc/password-changed-email.tpl放到生产环境的etc目录下 - 将etc/password-changed-email.tpl放到生产环境的etc目录下
4.0.0
升级内容:
- 服务端模块合并为一个模块
- agentd和server的调用全部走rpc
重新安装:见 https://n9e.didiyun.com/docs/install/binary/
升级方法:
- 使用新的etc替换掉原来的etc
- 使用etc/nginx.conf替换原来的nginx.conf
- n9e-prober替换旧的n9e-prober
- n9e-agentd替换n9e-agent
- n9e-server替换n9e-rdb、n9e-ams、n9e-job、n9e-monapi、n9e-transfer、n9e-judge

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# release version # release version
version=3.8.0 version=4.0.0
CWD=$(cd $(dirname $0)/; pwd) CWD=$(cd $(dirname $0)/; pwd)
cd $CWD cd $CWD
@ -14,15 +14,8 @@ usage()
start_all() start_all()
{ {
test -x n9e-rdb && start rdb test -x n9e-server && start server
test -x n9e-job && start job test -x n9e-agentd && start agentd
test -x n9e-ams && start ams
test -x n9e-monapi && start monapi
test -x n9e-tsdb && start tsdb
test -x n9e-index && start index
test -x n9e-transfer && start transfer
test -x n9e-judge && start judge
test -x n9e-agent && start agent
test -x n9e-prober && start prober test -x n9e-prober && start prober
} }
@ -68,16 +61,9 @@ start()
stop_all() stop_all()
{ {
test -x n9e-agent && stop agent test -x n9e-server && stop server
test -x n9e-judge && stop judge
test -x n9e-transfer && stop transfer
test -x n9e-index && stop index
test -x n9e-tsdb && stop tsdb
test -x n9e-monapi && stop monapi
test -x n9e-ams && stop ams
test -x n9e-job && stop job
test -x n9e-rdb && stop rdb
test -x n9e-prober && stop prober test -x n9e-prober && stop prober
test -x n9e-agentd && stop agentd
} }
stop() stop()
@ -160,15 +146,8 @@ build()
mod=$1 mod=$1
if [ "x${mod}" = "x" ]; then if [ "x${mod}" = "x" ]; then
build_one monapi build_one server
build_one transfer build_one agentd
build_one index
build_one judge
build_one agent
build_one tsdb
build_one rdb
build_one ams
build_one job
build_one prober build_one prober
return return
fi fi
@ -182,15 +161,8 @@ build_local()
mod=$1 mod=$1
if [ "x${mod}" = "x" ]; then if [ "x${mod}" = "x" ]; then
build_local_one monapi build_local_one server
build_local_one transfer build_local_one agentd
build_local_one index
build_local_one judge
build_local_one agent
build_local_one tsdb
build_local_one rdb
build_local_one ams
build_local_one job
build_local_one prober build_local_one prober
return return
fi fi
@ -242,8 +214,9 @@ exec()
fi fi
done done
else else
echo $1 echo "todo $1 at "$(date "+%Y-%m-%d %H:%M:%S")
$1 $1
echo "done $1 at "$(date "+%Y-%m-%d %H:%M:%S")
fi fi
} }

@ -1,51 +1,12 @@
--- ---
rdb: server:
http: 0.0.0.0:8000 http: 0.0.0.0:8000
addresses: rpc: 0.0.0.0:8001
- 127.0.0.1
ams:
http: 0.0.0.0:8002
addresses:
- 127.0.0.1
job:
http: 0.0.0.0:8004
rpc: 0.0.0.0:8005
addresses:
- 127.0.0.1
monapi:
http: 0.0.0.0:8006
addresses:
- 127.0.0.1
transfer:
http: 0.0.0.0:8008
rpc: 0.0.0.0:8009
addresses:
- 127.0.0.1
tsdb:
http: 0.0.0.0:8010
rpc: 0.0.0.0:8011
index:
http: 0.0.0.0:8012
rpc: 0.0.0.0:8013
addresses:
- 127.0.0.1
judge:
http: 0.0.0.0:8014
rpc: 0.0.0.0:8015
addresses: addresses:
- 127.0.0.1 - 127.0.0.1
prober: prober:
http: 0.0.0.0:8023 http: 0.0.0.0:8023
addresses:
- 127.0.0.1
agent: agentd:
http: 0.0.0.0:2080 http: 0.0.0.0:2080

@ -1,5 +1,5 @@
logger: logger:
dir: logs/agent dir: logs/agentd
level: INFO level: INFO
keepHours: 24 keepHours: 24
@ -75,5 +75,6 @@ sys:
- cpu.core.softirq - cpu.core.softirq
- cpu.core.iowait - cpu.core.iowait
- cpu.core.steal - cpu.core.steal
#ntpServers: #ntpServers:
# - ntp1.aliyun.com # - ntp1.aliyun.com

@ -1,12 +0,0 @@
logger:
dir: logs/ams
level: INFO
keepHours: 24
http:
mode: release
cookieDomain: ""
cookieName: ecmc-sid
tokens:
- ams-builtin-token

@ -1,118 +1 @@
{ {}
"zh": {
"stra not found": "聚合策略为找到",
"same stra name %s in node": "同节点下策略名称 %s 已存在",
"collect type not support": "采集类型不合法",
"[%s] is blank": "参数[%s]值不能为空",
"cannot convert %s to int64": "%s 无法转为 int64 类型",
"cannot convert %s to int": "%s 无法转为 int 类型",
"arg[%s] not found": "参数[%s]没找到",
"cannot retrieve node[%d]: %v": "获取不到节点[%d],原因:%v",
"no such node[%d]": "节点[%d]不存在",
"no such task[id:%d]": "任务[%d]不存在",
"no such task tpl[id:%d]": "任务模板[%d]不存在",
"cannot retrieve screen[%d]: %v": "获取不到大盘[%d],原因:%v",
"no such screen[%d]": "大盘[%d]不存在",
"cannot retrieve subclass[%d]: %v": "获取不到大盘分组[%d],原因:%v",
"no such subclass[%d]": "大盘分组[%d]不存在",
"cannot retrieve chart[%d]: %v": "获取不到大盘图表[%d],原因:%v",
"no such chart[%d]": "大盘图表[%d]不存在",
"cannot retrieve eventCur[%d]: %v": "获取不到未恢复告警事件[%d],原因:%v",
"no such eventCur[%d]": "未恢复告警事件[%d]不存在",
"cannot retrieve event[%d]: %v": "获取不到告警事件[%d],原因:%v",
"no such event[%d]": "告警事件[%d]不存在",
"cannot retrieve user[%d]: %v": "获取不到用户[%d],原因:%v",
"no such user[%d]": "用户[%d]不存在",
"no such user: %s": "用户[%s]不存在",
"cannot retrieve team[%d]: %v": "获取不到团队[%d],原因:%v",
"no such team[%d]": "团队[%d]不存在",
"cannot retrieve role[%d]: %v": "获取不到角色[%d],原因:%v",
"no such role[%d]": "角色[%d]不存在",
"no such NodeCate[id:%d]": "节点类型[%d]没找到",
"no such field": "扩展字段为找到",
"field_type cannot modify": "字段类型不能被修改",
"arg[endpoints] empty": "参数不能[endpoints]为空",
"arg[cur_nid_paths] empty": "参数不能[cur_nid_paths]为空",
"arg[tags] empty": "参数不能[tags]为空",
"arg[hosts] empty": "参数不能[hosts]为空",
"arg[btime,etime] empty": "参数[btime,etime]不合规范",
"arg[name] empty": "参数[name]不合规范",
"arg[name] is blank": "参数[名称]不能为空",
"arg[ids] is empty": "参数[ids]不能为空",
"%s invalid": "%s 不符合规范",
"%s too long > 64": "%s 超过64长度限制",
"arg[%s] too long > %d": "参数 %s 长度不能超过 %d",
"cate is blank": "节点分类不能为空",
"uuid is blank": "uuid不能为空",
"ident is blank": "唯一标识不能为空",
"tenant is blank": "租户不能为空",
"ids is blank": "ids不能为空",
"items empty": "提交内容不能为空",
"url param[%s] is blank": "url参数[%s]不能为空",
"query param[%s] is necessary": "query参数[%s]不能为空",
"ident legal characters: [a-z0-9_-]": "唯一标识英文只能字母开头,包括数字、中划线、下划线",
"ident length should be less than 32": "唯一标识长度需小于32",
"cannot modify tenant's node-category": "租户分类不允许修改",
"cannot modify node-category to tenant": "节点分类不允许修改为租户",
"node is managed by other system": "租户正在被系统系统使用",
"resources not found by %s": "通过 %s 没有找到资源",
"cannot delete root user": "root用户不能删除",
"user not found": "用户未找到",
"Unable to get captcha": "无法获得验证码",
"Invalid captcha answer": "错误的验证码",
"Username %s is invalid": "用户名 %s 不符合规范",
"Username %s too long > 64": "用户名 %s 太长(64)",
"Unable to get login arguments": "无法获得登陆参数",
"Deny Access from %s with whitelist control": "来自 %s 的访问被白名单规则拒绝",
"Invalid login type %s": "不支持的登陆类型 %s",
"Unable to get type, sms-code | email-code": "无法获得验证码类型",
"Unable to get code arg": "无法获得验证码类型",
"sms/email sender is disabled": "无法发送 短信/邮件 验证码",
"Invalid code type %s": "不支持的验证码类型 %s",
"Cannot find the user by %s": "无法用 %s 找到相关用户",
"Unable to get password": "无法获取密码",
"Invalid code": "不符合规范的验证码",
"The code is incorrect": "无效的验证码",
"The code has expired": "失效的验证码",
"Invalid arguments %s": "不合法的参数 %s",
"Login fail, check your username and password": "登陆失败,请检查用户名/密码",
"User dose not exist": "用户不存在",
"Username %s already exists": "用户名 %s 已存在",
"Upper char": "大写字母",
"Lower char": "小写字母",
"Number": "数字",
"Special char": "特殊字符",
"Must include %s": "必须包含 %s",
"Invalid Password, %s": "密码不符合规范, %s",
"character: %s not supported": "不支持的字符 %s",
"Incorrect login/password %s times, you still have %s chances": "登陆失败%d次你还有%d次机会",
"The limited sessions %d": "会话数量限制,最多%d个会话",
"Password has been expired": "密码已过期,请重置密码",
"User is inactive": "用户已禁用",
"User is locked": "用户已锁定",
"User is frozen": "用户已休眠",
"User is writen off": "用户已注销",
"Minimum password length %d": "密码最小长度 %d",
"Password too short (min:%d) %s": "密码太短 (最小 %d) %s",
"%s format error":"%s 所填内容不符合规范",
"%s %s format error":"%s %s 所填内容不符合规范",
"username too long (max:%d)": "用户名太长 (最长:%d)",
"dispname too long (max:%d)": "昵称太长 (最长:%d)",
"email %s or phone %s is exists": "邮箱 %s 或者 手机号 %s 已存在",
"Password is not set": "密码未设置",
"Incorrect old password": "密码错误",
"The password is the same as the old password": "密码与历史密码重复",
"phone": "手机号",
"email": "邮箱",
"username": "用户名",
"dispname": "昵称",
"Temporary user has expired": "临时账户,已过有效期",
"Invalid user status %d": "异常的用户状态 %d",
"Password expired, please change the password in time": "密码过期,请及时修改密码",
"First Login, please change the password in time": "初始登陆,请及时修改密码",
"EOF": ""
}
}

@ -1,9 +1,9 @@
# 用来做心跳给服务端上报本机ip # for heartbeat, connected by other modules
ip: ip:
specify: "" specify: ""
shell: ifconfig `route|grep '^default'|awk '{print $NF}'`|grep inet|awk '{print $2}'|head -n 1|awk -F':' '{print $NF}' shell: ifconfig `route|grep '^default'|awk '{print $NF}'`|grep inet|awk '{print $2}'|head -n 1|awk -F':' '{print $NF}'
# MON、JOB, judge, prober 的客户端拿来做本机标识 # as identity. equals to endpoint. used by agentd, prober, server
ident: ident:
specify: "" specify: ""
shell: ifconfig `route|grep '^default'|awk '{print $NF}'`|grep inet|awk '{print $2}'|head -n 1|awk -F':' '{print $NF}' shell: ifconfig `route|grep '^default'|awk '{print $NF}'`|grep inet|awk '{print $2}'|head -n 1|awk -F':' '{print $NF}'

@ -1,4 +0,0 @@
logger:
dir: logs/index
level: INFO
keepHours: 24

@ -1,15 +0,0 @@
logger:
dir: logs/job
level: INFO
keepHours: 24
http:
mode: release
cookieDomain: ""
cookieName: ecmc-sid
output:
# database | remote
comeFrom: database
remotePort: 2080

File diff suppressed because it is too large Load Diff

@ -1,18 +0,0 @@
query:
connTimeout: 1000
callTimeout: 2000
indexCallTimeout: 2000
redis:
addrs:
- 127.0.0.1:6379
pass: ""
# timeout:
# conn: 500
# read: 3000
# write: 3000
logger:
dir: logs/judge
level: INFO
keepHours: 24

@ -1,47 +0,0 @@
---
tokens:
- monapi-internal-third-module-pass-fjsdi
logger:
dir: logs/monapi
level: INFO
keepHours: 24
alarmEnabled: true
region:
- default
# clean history event
cleaner:
# retention days
days: 100
# number of events deleted per time
batch: 100
# read alert from redis
redis:
addr: 127.0.0.1:6379
pass: ""
# timeout:
# conn: 500
# read: 3000
# write: 3000
i18n:
lang: zh
notify:
p1: ["voice", "sms", "mail", "im"]
p2: ["sms", "mail", "im"]
p3: ["mail", "im"]
# addresses accessible using browser
link:
stra: http://n9e.com/mon/strategy/%v
event: http://n9e.com/mon/history/his/%v
claim: http://n9e.com/mon/history/cur/%v
http:
mode: release
cookieDomain: ""
cookieName: ecmc-sid

@ -67,33 +67,33 @@ http {
} }
upstream n9e.ams { upstream n9e.ams {
server 127.0.0.1:8002; server 127.0.0.1:8000;
keepalive 60; keepalive 60;
} }
upstream n9e.job { upstream n9e.job {
server 127.0.0.1:8004; server 127.0.0.1:8000;
keepalive 60; keepalive 60;
} }
upstream n9e.monapi { upstream n9e.monapi {
server 127.0.0.1:8006; server 127.0.0.1:8000;
keepalive 60; keepalive 60;
} }
upstream n9e.transfer { upstream n9e.transfer {
server 127.0.0.1:8008; server 127.0.0.1:8000;
keepalive 60; keepalive 60;
} }
upstream n9e.index { upstream n9e.index {
server 127.0.0.1:8012; server 127.0.0.1:8000;
keepalive 60; keepalive 60;
} }
server { server {
listen 80 default_server; listen 80 default_server;
server_name n9e.example.com; server_name localhost;
root /home/n9e/pub; root /home/n9e/pub;
# Load configuration files for the default server block. # Load configuration files for the default server block.

@ -1 +1 @@
您好,您的密码已被重置 您好,您的密码已被重置

@ -1,110 +0,0 @@
logger:
dir: logs/rdb
level: INFO
keepHours: 24
http:
mode: release
session:
cookieName: ecmc-sid
domain: ""
httpOnly: true
gcInterval: 60
cookieLifetime: 86400 # 单位秒0: 与浏览器相同
i18n:
lang: zh
sso:
enable: false
ssoAddr: "http://{sso-host}"
redirectURL: "http://{rdb-host}/auth-callback"
clientId: ""
clientSecret: ""
apiKey: ""
attributes:
dispname: "display_name"
email: "email"
phone: "phone"
im: ""
coverAttributes: false
stateExpiresIn: 300
auth:
captcha: false
extraMode:
enable: false # enable whiteList, login retry lock, userControl, ...
whiteList: false
frozenDays: 90 # frozen time (day)
writenOffDays: 365 # writenOff time (day)
tokens:
- rdb-builtin-token
# for ldap authorization
ldap:
host: "ldap.example.org"
port: 389
baseDn: "dc=example,dc=org"
# AD: manange@example.org
bindUser: "cn=manager,dc=example,dc=org"
bindPass: "*******"
# openldap: (&(uid=%s))
# AD: (&(sAMAccountName=%s))
authFilter: "(&(uid=%s))"
attributes:
dispname: "cn"
email: "mail"
phone: "mobile"
im: ""
coverAttributes: false
autoRegist: true
tls: false
startTLS: false
# as queue for sender
redis:
enable: true
addr: 127.0.0.1:6379
pass: ""
idle: 5
timeout:
conn: 500
read: 3000
write: 3000
rabbitmq:
enable: false
addr: amqp://root:1234@127.0.0.1:5672/
queue: test
sender:
mail:
# three choice: smtp|shell|api
way: smtp
worker: 10
api: http://127.0.0.1:2008/mail
sms:
# two choice: shell|api
way: api
worker: 10
api: http://127.0.0.1:2008/sms
voice:
# two choice: shell|api
way: shell
worker: 10
api: http://127.0.0.1:2008/voice
im:
# five choice: shell|api|wechat|wechat_robot|dingtalk_robot
way: shell
worker: 10
api: http://127.0.0.1:2008/im
wechat:
corp_id: "xxxxxxxxxxxxx"
agent_id: 1000000
secret: "xxxxxxxxxxxxxxxxx"
#webhook:
# - addr: http://localhost:2008/api/event
# token: "1234"

File diff suppressed because one or more lines are too long

@ -0,0 +1,172 @@
logger:
dir: logs/server
level: INFO
# rotate by time
keepHours: 24
## rotate by size
#rotatenum: 3
#rotatesize: 256 # unit: MB
http:
mode: release
showLog: true
session:
cookieName: ecmc-sid
cookieDomain: ""
httpOnly: true
gcInterval: 60
cookieLifetime: 86400 # unit: second, 0: cookie life same to browser
tokens:
- rdb-builtin-token
redis:
# as queue
local:
enable: true
addr: 127.0.0.1:6379
pass: ""
idle: 5
timeout:
conn: 500
read: 3000
write: 3000
rdb:
# for ldap authorization
ldap:
host: "ldap.example.org"
port: 389
baseDn: "dc=example,dc=org"
# AD: manange@example.org
bindUser: "cn=manager,dc=example,dc=org"
bindPass: "*******"
# openldap: (&(uid=%s))
# AD: (&(sAMAccountName=%s))
authFilter: "(&(uid=%s))"
attributes:
dispname: "cn"
email: "mail"
phone: "mobile"
im: ""
coverAttributes: false
autoRegist: true
tls: false
startTLS: false
## for enterprise edition
#sso:
# enable: false
# ssoAddr: "http://{sso-host}"
# redirectURL: "http://{rdb-host}/auth-callback"
# clientId: ""
# clientSecret: ""
# apiKey: ""
# attributes:
# dispname: "display_name"
# email: "email"
# phone: "phone"
# im: ""
# coverAttributes: false
# stateExpiresIn: 300
#auth:
# captcha: false
# extraMode:
# enable: false # enable whiteList, login retry lock, userControl, ...
# whiteList: false
# frozenDays: 90 # frozen time (day)
# writenOffDays: 365 # writenOff time (day)
#i18n:
# lang: zh
job:
enable: true
## database | remote
#outputComeFrom: database
#remoteAgtdPort: 2080
transfer:
enable: true
backend:
datasource: "m3db"
m3db:
enabled: true
maxSeriesPoints: 720 # default 720
name: "m3db"
namespace: "default"
seriesLimit: 0
docsLimit: 0
daysLimit: 7 # max query time
# https://m3db.github.io/m3/m3db/architecture/consistencylevels/
writeConsistencyLevel: "majority" # one|majority|all
readConsistencyLevel: "unstrict_majority" # one|unstrict_majority|majority|all
config:
service:
# KV environment, zone, and service from which to write/read KV data (placement
# and configuration). Leave these as the default values unless you know what
# you're doing.
env: default_env
zone: embedded
service: m3db
etcdClusters:
- zone: embedded
endpoints:
- 127.0.0.1:2379
#tls:
# caCrtPath: /etc/etcd/certs/ca.pem
# crtPath: /etc/etcd/certs/etcd-client.pem
# keyPath: /etc/etcd/certs/etcd-client-key.pem
#tsdb:
# enabled: false
# name: "tsdb"
# cluster:
# tsdb01: 127.0.0.1:8011
#influxdb:
# enabled: false
# username: "influx"
# password: "admin123"
# precision: "s"
# database: "n9e"
# address: "http://127.0.0.1:8086"
#opentsdb:
# enabled: false
# address: "127.0.0.1:4242"
#kafka:
# enabled: false
# brokersPeers: "192.168.1.1:9092,192.168.1.2:9092"
# topic: "n9e"
monapi:
indexMod: server
alarmEnabled: true
region:
- default
# clean history event
cleaner:
# retention days
days: 100
# number of events deleted per time
batch: 100
notify:
p1: ["voice", "sms", "mail", "im"]
p2: ["sms", "mail", "im"]
p3: ["mail", "im"]
# addresses accessible using browser
link:
stra: http://n9e.com/mon/strategy/%v
event: http://n9e.com/mon/history/his/%v
claim: http://n9e.com/mon/history/cur/%v
judge:
query:
connTimeout: 1000
callTimeout: 2000
maxConn: 2000
maxIdle: 100
connTimeout: 1000
callTimeout: 2000
indexCallTimeout: 2000
indexMod: server

@ -10,7 +10,7 @@ Group=root
Type=simple Type=simple
Environment="GIN_MODE=release" Environment="GIN_MODE=release"
ExecStart=/home/n9e/n9e-agent ExecStart=/home/n9e/n9e-agentd
WorkingDirectory=/home/n9e WorkingDirectory=/home/n9e
Restart=always Restart=always

@ -1,21 +0,0 @@
[Unit]
Description=n9e job
After=network-online.target
Wants=network-online.target
[Service]
# modify when deploy in prod env
User=root
Group=root
Type=simple
Environment="GIN_MODE=release"
ExecStart=/home/n9e/n9e-job
WorkingDirectory=/home/n9e
Restart=always
RestartSec=1
StartLimitInterval=0
[Install]
WantedBy=multi-user.target

@ -1,21 +0,0 @@
[Unit]
Description=n9e judge
After=network-online.target
Wants=network-online.target
[Service]
# modify when deploy in prod env
User=root
Group=root
Type=simple
Environment="GIN_MODE=release"
ExecStart=/home/n9e/n9e-judge
WorkingDirectory=/home/n9e
Restart=always
RestartSec=1
StartLimitInterval=0
[Install]
WantedBy=multi-user.target

@ -1,21 +0,0 @@
[Unit]
Description=n9e monapi
After=network-online.target
Wants=network-online.target
[Service]
# modify when deploy in prod env
User=root
Group=root
Type=simple
Environment="GIN_MODE=release"
ExecStart=/home/n9e/n9e-monapi
WorkingDirectory=/home/n9e
Restart=always
RestartSec=1
StartLimitInterval=0
[Install]
WantedBy=multi-user.target

@ -1,5 +1,5 @@
[Unit] [Unit]
Description=n9e index Description=n9e prober
After=network-online.target After=network-online.target
Wants=network-online.target Wants=network-online.target
@ -10,7 +10,7 @@ Group=root
Type=simple Type=simple
Environment="GIN_MODE=release" Environment="GIN_MODE=release"
ExecStart=/home/n9e/n9e-index ExecStart=/home/n9e/n9e-prober
WorkingDirectory=/home/n9e WorkingDirectory=/home/n9e
Restart=always Restart=always

@ -1,21 +0,0 @@
[Unit]
Description=n9e rdb
After=network-online.target
Wants=network-online.target
[Service]
# modify when deploy in prod env
User=root
Group=root
Type=simple
Environment="GIN_MODE=release"
ExecStart=/home/n9e/n9e-rdb
WorkingDirectory=/home/n9e
Restart=always
RestartSec=1
StartLimitInterval=0
[Install]
WantedBy=multi-user.target

@ -1,5 +1,5 @@
[Unit] [Unit]
Description=n9e ams Description=n9e server
After=network-online.target After=network-online.target
Wants=network-online.target Wants=network-online.target
@ -10,7 +10,7 @@ Group=root
Type=simple Type=simple
Environment="GIN_MODE=release" Environment="GIN_MODE=release"
ExecStart=/home/n9e/n9e-ams ExecStart=/home/n9e/n9e-server
WorkingDirectory=/home/n9e WorkingDirectory=/home/n9e
Restart=always Restart=always

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save