docs(update): 📝 readme
This commit is contained in:
parent
231e0aaf51
commit
f4178a5bdc
@ -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" ]
|
32
README.md
32
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) 编译支持,提供维护。
|
||||
|
||||
可以直接用本仓库在此基础上快速开发业务产品
|
||||
|
||||
---
|
||||
|
||||
本仓库维护最小化可以执行的程序,具体请参考本仓库 makefile
|
||||
|
||||
```
|
||||
# 最小化编译
|
||||
make build
|
||||
|
||||
# swag 文档支持
|
||||
make swag-install
|
||||
|
||||
# 为项目建立 api 文档
|
||||
make swag
|
||||
|
||||
# dev 默认开启 web 和 swag 文档编译
|
||||
make dev
|
||||
```
|
||||
|
||||
|
@ -1 +1 @@
|
||||
go build -o packet-ui.out -ldflags "-w -s" main.go && ./packet-ui.out svr
|
||||
go build -o demo.out -ldflags "-w -s" main.go && ./demo.out svr
|
Loading…
Reference in New Issue
Block a user