diff --git a/Dockerfile_dev b/Dockerfile_dev deleted file mode 100644 index fa4e498..0000000 --- a/Dockerfile_dev +++ /dev/null @@ -1,31 +0,0 @@ -# syntax=docker/dockerfile:1.4 - -FROM golang:1.19.5-alpine3.16 as builder -RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories \ - && go env -w GONOSUMDB=lab.threathunter.cn \ - && go env -w GOPROXY=goproxy.threathunter.cn - -WORKDIR /build -COPY --link . . - -RUN --mount=type=cache,id=golang-1.19.5-alpine.3.16/var/cache/apk,target=/var/cache/apk \ - apk add gcc g++ su-exec tzdata bash busybox tree libpcap-dev - -RUN --mount=type=cache,id=golang-1.19.5-alpine3.16/go/pkg/mod,target=/go/pkg/mod \ - --mount=type=cache,id=golang-1.19.5-alpine3.16/root/.cache,target=/root/.cache \ -go mod download - -RUN --mount=type=cache,id=golang-1.19.5-alpine3.16/go/pkg/mod,target=/go/pkg/mod \ - --mount=type=cache,id=golang-1.19.5-alpine3.16/root/.cache,target=/root/.cache \ -CGO_ENABLED=1 go build -a -ldflags '-w -s' -o /packet-ui - -COPY --link ./deploy/sys-root / - -RUN chmod +x /docker-entrypoint.sh /docker-cmd.sh - -VOLUME [ "/app/data", "/app/conf", "/app/logs" ] - - -EXPOSE 20028 -ENTRYPOINT [ "/docker-entrypoint.sh" ] -CMD [ "/docker-cmd.sh" ] \ No newline at end of file diff --git a/README.md b/README.md index 76af2fb..cf93471 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,14 @@ -# Go tmplate project +# Go Viper App TMPL +这是一个符合 Viper 风格的 viper App 模版库,集成了 Gin 作为路由引擎(简单业务用它绰绰有余) + +Q: 我会用它来干什么? + +A: 复用曾经搭建的基础开发组件,快速实现集成 Web 的 app(受到一些开源项目的启发,包括但不限于:v2raya) +1. 强可移植性:gui 通过 web 实现,将 web 资源静态集成到 go 可执行文件 +2. 极易部署:不需要额外启动 web 容器 / 进程,项目部署及其容器,不依赖 nginx 托管静态文件,小项目福音 +3. 集成 viper:结构较为简单单仓库的微服务也可以使用 + +​ 以上内容来自工作中需要,本项目总结自工作实操流水线经验,可以作为练习 go-web 基础开发、代码风格项目学习使用 # Motivation @@ -7,6 +17,26 @@ - Viper 项目配置 & 序列化工具 - Crabon 命令行交互 - Zap 日志框架 +- Gin 的拓展用法(集成 web 和 swag) - 本仓库附带 single app 内置的 web(gui) 编译支持,提供维护。 ---- \ No newline at end of file +可以直接用本仓库在此基础上快速开发业务产品 + +--- + +本仓库维护最小化可以执行的程序,具体请参考本仓库 makefile + +``` +# 最小化编译 +make build + +# swag 文档支持 +make swag-install + +# 为项目建立 api 文档 +make swag + +# dev 默认开启 web 和 swag 文档编译 +make dev +``` + diff --git a/deploy/run.sh b/deploy/run.sh index 8d40122..855d479 100755 --- a/deploy/run.sh +++ b/deploy/run.sh @@ -1 +1 @@ - go build -o packet-ui.out -ldflags "-w -s" main.go && ./packet-ui.out svr \ No newline at end of file + go build -o demo.out -ldflags "-w -s" main.go && ./demo.out svr \ No newline at end of file