增加root_token查询
This commit is contained in:
11
README.md
11
README.md
@@ -30,10 +30,13 @@ or
|
|||||||
```
|
```
|
||||||
wget https://github.com/mirrors2/opencatd-open/raw/main/docker/docker-compose.yml
|
wget https://github.com/mirrors2/opencatd-open/raw/main/docker/docker-compose.yml
|
||||||
```
|
```
|
||||||
## reset root token
|
## 支持的命令
|
||||||
```
|
>获取 root 的 token
|
||||||
docker exec -it opencatd-open ./opencatd reset_root
|
- `docker exec opencatd-open opencatd root_token`
|
||||||
```
|
|
||||||
|
>重置 root 的 token
|
||||||
|
- `docker exec opencatd-open opencatd reset_root`
|
||||||
|
|
||||||
|
|
||||||
## Q&A
|
## Q&A
|
||||||
关于证书?
|
关于证书?
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
FROM golang:1.19.7-alpine as builder
|
FROM golang:1.19.7-alpine as builder
|
||||||
LABEL anther="github.com/Sakurasan"
|
LABEL anther="github.com/Sakurasan"
|
||||||
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && apk update && apk --no-cache add openssl make cmake upx
|
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && apk --no-cache add make cmake upx
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
COPY . /build
|
COPY . /build
|
||||||
ENV GO111MODULE=on
|
ENV GO111MODULE=on
|
||||||
@@ -12,9 +12,10 @@ FROM alpine:latest AS runner
|
|||||||
# 设置alpine 时间为上海时间
|
# 设置alpine 时间为上海时间
|
||||||
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && apk update && apk --no-cache add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
|
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && apk update && apk --no-cache add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
|
||||||
&& echo "Asia/Shanghai" > /etc/timezone \
|
&& echo "Asia/Shanghai" > /etc/timezone \
|
||||||
&& apk del tzdata && export GIN_MODE=release
|
|
||||||
# RUN apk update && apk --no-cache add openssl libgcc libstdc++ binutils
|
# RUN apk update && apk --no-cache add openssl libgcc libstdc++ binutils
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY --from=builder /build/bin/opencatd /app/opencatd
|
COPY --from=builder /build/bin/opencatd /app/opencatd
|
||||||
|
ENV GIN_MODE=release
|
||||||
|
ENV PATH=$PATH:/app
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
ENTRYPOINT ["/app/opencatd"]
|
ENTRYPOINT ["/app/opencatd"]
|
||||||
5
makefile
5
makefile
@@ -24,11 +24,12 @@ build:
|
|||||||
upx -9 bin/opencatd
|
upx -9 bin/opencatd
|
||||||
|
|
||||||
.PHONY:docker
|
.PHONY:docker
|
||||||
|
# build docker images
|
||||||
docker:
|
docker:
|
||||||
docker run --privileged --rm tonistiigi/binfmt --install all
|
docker run --privileged --rm tonistiigi/binfmt --install all
|
||||||
docker buildx create --use --name xbuilder
|
docker buildx create --use --name xbuilder --driver docker-container
|
||||||
docker buildx inspect xbuilder --bootstrap
|
docker buildx inspect xbuilder --bootstrap
|
||||||
docker buildx build --platform linux/amd64,linux/arm64 -t mirrors2/opencatd:latest . --push
|
docker buildx build --platform linux/amd64,linux/arm64 -t mirrors2/opencatd:latest -f docker/Dockerfile . --push
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
# clean
|
# clean
|
||||||
|
|||||||
27
opencat.go
27
opencat.go
@@ -9,12 +9,24 @@ import (
|
|||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
args := os.Args[1:]
|
args := os.Args[1:]
|
||||||
if len(args) > 0 && args[0] == "reset_root" {
|
if len(args) > 0 {
|
||||||
|
switch args[0] {
|
||||||
|
case "reset_root":
|
||||||
log.Println("reset root token...")
|
log.Println("reset root token...")
|
||||||
|
if _, err := store.GetUserByID(uint(1)); err != nil {
|
||||||
|
if err == gorm.ErrRecordNotFound {
|
||||||
|
log.Println("请在opencat(或其他APP)客户端完成team初始化")
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
log.Fatalln(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
ntoken := uuid.NewString()
|
ntoken := uuid.NewString()
|
||||||
if err := store.UpdateUser(uint(1), ntoken); err != nil {
|
if err := store.UpdateUser(uint(1), ntoken); err != nil {
|
||||||
log.Fatalln(err)
|
log.Fatalln(err)
|
||||||
@@ -22,6 +34,19 @@ func main() {
|
|||||||
}
|
}
|
||||||
log.Println("new root token:", ntoken)
|
log.Println("new root token:", ntoken)
|
||||||
return
|
return
|
||||||
|
case "root_token":
|
||||||
|
log.Println("reset root token...")
|
||||||
|
if user, err := store.GetUserByID(uint(1)); err != nil {
|
||||||
|
log.Fatalln(err)
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
log.Println("root token:", user.Token)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
port := os.Getenv("PORT")
|
port := os.Getenv("PORT")
|
||||||
r := gin.Default()
|
r := gin.Default()
|
||||||
|
|||||||
Reference in New Issue
Block a user