LinkMe 是一个基于 Go 的论坛后端服务仓库。当前代码库仍然是单体部署形态,但运行时已经包含 HTTP API、异步任务、定时任务、Kafka 消费者和监控端点。
cmd/main.gomock相关仓库:
当前进程启动后会同时运行以下组件:
:9999/healthz、/readyz:9091说明:
Dockerfile 当前是开发态 modd 运行镜像,不是最小化生产镜像。go mod tidy
cp config/config.example.yaml config/config.yaml
make init
docker-compose -f docker-compose-env.yaml up -d
docker-compose -f docker-compose-env.yaml exec -T mysql sh -c 'mysql -uroot -p"$MYSQL_ROOT_PASSWORD" linkme' < deploy/init/linkme.sql
按 docker-compose-env.yaml 的宿主机端口修改本地配置:
MySQL:localhost:43306
localhost:46379localhost:9094Elasticsearch:http://localhost:19200
启动服务:
go run ./cmd/main.go
make init
docker-compose -f docker-compose-env.yaml up -d
make build
docker-compose up -d
默认入口:
http://localhost:8888http://localhost:9999http://localhost:9091/metricsmake fmt
make test-unit
make build-app
make env-up
make build
make up
make down
make deploy
make logs
配置文件示例见 config/config.example.yaml。
config/config.yamlLINKME_kafka.addr 同时兼容 YAML 数组和单个环境变量字符串常用配置项:
server.addrmetrics.addrdb.dsnredis.addrredis.passwordkafka.addres.addrsms.provideremail.providerark_api.providercors.allow_allcors.allow_origins提供商建议:
mocksms.provider=tencentemail.provider=qqark_api.provider=ark.
├── cmd/main.go # 单进程启动入口
├── config/ # Viper 配置与示例配置
├── deploy/ # 初始化 SQL、Compose 依赖和 K8s YAML
├── doc/ # 项目文档
├── internal/api/ # HTTP Handler 与请求参数
├── internal/constants/ # 常量定义
├── internal/domain/ # 领域模型与事件定义
├── internal/job/ # Asynq 任务与定时任务
├── internal/repository/ # 仓储实现(DB / Cache / ES)
├── internal/service/ # 业务服务
├── ioc/ # 依赖注入与基础设施初始化
├── middleware/ # 中间件
├── pkg/ # 通用基础组件
└── utils/ # 辅助工具与内容审核能力
本项目使用 MIT 许可证,详情见 LICENSE。
$ claude mcp add LinkMe \
-- python -m otcore.mcp_server <graph>