Skip to content

Latest commit

 

History

152 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mix Space Core

Warning

大体功能写完了,还差小细节,欢迎反馈

这是以 Golang 重写的 Mix Space Core

Warning

并不建议你使用此项目进行 Mix Space 部署
此项目基于 mx-space/core 9.7.0 做了 API 兼容,独立于主线,因此不会继续跟进主线的更改
您可以对此项目进行贡献,但我仍希望你去支持本家 Innei 的作品

本家: https://github.com/mx-space/core

环境要求

  • Go: >= 1.22
  • Redis: >= 7.4.2
  • MySQL: >= 8.0.0
  • MiliSearch: >= 1.35.1

管理员面板

额暂时呢我不会把面板本体附带到 Go 编辑的二进制产物中
所以需要自行编译面板并在 config.yml 中填写 dist 路径
面板版本以 BLxcwg666/mx-admin 为准,其他版本及原作者的版本兼容性将不被保证

开发

我懒得写 go test file,所以没有 test 环节

  • 启动:go run ./cmd/server
  • 指定配置文件:go run ./cmd/server --config ./config.yml(若未指定则使用二进制同级目录的config.yml
  • 集群模式:go run ./cmd/server --cluster --cluster_workers 2

systemd 部署(Linux)

  • 可以直接使用 deploy/systemd/mx-core-go.service
  • 建议把二进制部署到 /opt/mx-core-go/bin/server
  • 建议把配置文件放到 /etc/mx-core-go/config.yml
  • 生产环境记得把配置里的 env 设为 production
  • 可选环境文件:/etc/default/mx-core-go(例如设置 CLUSTER=trueCLUSTER_WORKERS=2
  • 建议先创建运行用户:sudo useradd --system --home /opt/mx-core-go --shell /usr/sbin/nologin mx-space
  • 建议给生产环境配置绝对路径,避免日志、备份、上传目录落到二进制目录下,例如:
paths:
  logs: /var/log/mx-core-go
  backups: /var/lib/mx-core-go/backups
  static: /var/lib/mx-core-go/static
  • 安装服务:sudo cp deploy/systemd/mx-core-go.service /etc/systemd/system/mx-core-go.service
  • 重载并启动:sudo systemctl daemon-reload && sudo systemctl enable --now mx-core-go

许可

本项目采用 GNU Affero General Public License v3.0 (AGPLv3) 开源

致谢与声明

  • API 设计及原始逻辑来源于 Inneimx-space/core
  • 本项目是该作品的 Golang 兼容实现

About

🤔The RESTful API service and more feature for Mix Space rewritten in Golang, Powered by @gin-gonic

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages