Skip to content

liangguifeng/webstack-go

Repository files navigation

webstack-go 网址导航后台系统

基于 Golang 开源的网址导航网站项目,具备完整的前后台,您可以拿来制作自己平日收藏的网址导航。

原有后端项目基础上新增功能:

  • 新增 webstack - 导航首页
  • 新增 系统管理员 - 网站分类
  • 新增 系统管理员 - 网站列表
  • 网站新增支持自动获取标题、Logo、网站描述、一键同步
  • 新增 docker-compose.yml 一键安装各组件
  • 批量添加网址
  • 优化: 由 gorm-gen 代码生成提供支持的友好且更安全的 GORM

快速开始

一、运行环境

安装 Golang、Mysql、Redis

  • Golang 1.16+ 因为使用了 //go:embed 特性;
  • MySQL
    • 连接地址,例如:127.0.0.1:3306;
    • 数据库名,例如:webstack,会在此数据库下初始化数据表;
    • 用户名,不可为空;
    • 密码,不可为空;
  • Redis
    • 连接地址,例如:127.0.0.1:6379;
    • 密码,可为空;
    • 连接DB,默认是 0 ;

二、启动服务

两种方式运行 1. 源码启动服务 2. Docker启动服务

一、源码运行服务

  1. 目录下执行 go mod tidy 拉取项目依赖库

  2. 安装完依赖执行 go run main.go 首次启动程序之后,会在浏览器中自动打开安装界面,链接地址:http://127.0.0.1:9999/install

  3. 点击 初始化项目 会看到如下图所示, 如果提示重新运行服务说明项目初始化完成, 只需重新运行服务就 OK 了!

二、Docker运行服务

包含两部分 1. 基础服务(Mysql、Redis、Service) 2. 监控服务(Prometheus、Grafana)

一、基础服务

  1. 目录下执行 docker-compose -f docker-compose.yml up -d 等待基础组件启动 (Mysql、Redis、Service)

    $ docker-compose -f docker-compose.yml up -d
    [+] Running 4/4
    ✔ Network webstack-go            Created                                                                                                                0.1s
    ✔ Container webstack-go-mysql    Healthy                                                                                                               12.9s
    ✔ Container webstack-go-redis    Healthy                                                                                                               13.4s
    ✔ Container webstack-go-service  Started  
  2. 执行docker-compose -f docker-compose.yml ps 服务正常运行如下

    NAME                  IMAGE                             COMMAND                  SERVICE               CREATED             STATUS                   PORTS
    webstack-go-mysql     mysql/mysql-server:5.7            "/entrypoint.sh mysq…"   webstack-go-mysql     2 minutes ago       Up 2 minutes (healthy)   0.0.0.0:3306->3306/tcp, 33060/tcp
    webstack-go-redis     redis:6.2.4                       "docker-entrypoint.s…"   webstack-go-redis     2 minutes ago       Up 2 minutes (healthy)   0.0.0.0:6379->6379/tcp
    webstack-go-service   webstack-go-webstack-go-service   "./webstack-go -env …"   webstack-go-service   2 minutes ago       Up 2 minutes (healthy)   0.0.0.0:9999->9999/tcp
  3. docker container 正常运行后, 在浏览器中打开安装界面,链接地址:http://127.0.0.1:9999/install

  4. 点击 初始化项目 会看到如下图所示, 如果提示重新运行服务说明项目初始化完成, 只需重新运行 webstack-go-service 容器服务就 OK 了!

二、prometheus、grafana监控服务

注: 监控服务看自己是否需要, 不运行也不影响正常使用

  1. 目录下执行 docker-compose -f docker-compose-prometheus.yml up -d 等待监控组件启动 (Prometheus、Grafana)
    [+] Running 4/4
    ✔ Container webstack-go-prometheus  Started                                                                                                             4.0s
    ✔ Container webstack-go-loki        Started                                                                                                             3.6s
    ✔ Container webstack-go-grafana     Started                                                                                                             4.3s
    ✔ Container webstack-go-promtail    Started  
  2. 执行docker-compose -f docker-compose-prometheus.yml ps 服务正常运行如下
      NAME                     IMAGE                              COMMAND                  SERVICE                  CREATED             STATUS                   PORTS
      webstack-go-grafana      grafana/grafana-enterprise:9.4.3   "/run.sh"                webstack-go-grafana      2 minutes ago       Up 2 minutes             0.0.0.0:3000->3000/tcp
      webstack-go-loki         grafana/loki:2.7.3                 "/usr/bin/loki -conf…"   webstack-go-loki         2 minutes ago       Up 2 minutes             0.0.0.0:3100->3100/tcp
      webstack-go-mysql        mysql/mysql-server:5.7             "/entrypoint.sh mysq…"   webstack-go-mysql        3 minutes ago       Up 3 minutes (healthy)   0.0.0.0:3306->3306/tcp, 33060/tcp
      webstack-go-prometheus   prom/prometheus:latest             "/bin/prometheus --c…"   webstack-go-prometheus   2 minutes ago       Up 2 minutes             0.0.0.0:9090->9090/tcp
      webstack-go-promtail     grafana/promtail:2.7.3             "/usr/bin/promtail -…"   webstack-go-promtail     2 minutes ago       Up 2 minutes             
      webstack-go-redis        redis:6.2.4                        "docker-entrypoint.s…"   webstack-go-redis        3 minutes ago       Up 3 minutes (healthy)   0.0.0.0:6379->6379/tcp
      webstack-go-service      webstack-go-webstack-go-service    "./webstack-go -env …"   webstack-go-service      3 minutes ago       Up 3 minutes (healthy)   0.0.0.0:9999->9999/tcp

Star History

Star History Chart

效果图

首页

网站分类

新增网站

网站信息

监控组件

grafana.png

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •