增加root_token查询

This commit is contained in:
Sakurasan
2023-05-02 02:05:06 +08:00
parent ea9d9d532a
commit 38cf469852
4 changed files with 45 additions and 15 deletions

View File

@@ -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
关于证书? 关于证书?

View File

@@ -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"]

View File

@@ -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

View File

@@ -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()