
JSON CONVERT
Online Timer
之前一直用的flomo,免费版的图片只有500MB空间,再加上数据在别人那里总归有点不爽,然后又看到了Memos,支持自部署,还需要个服务器.
我这最近不是才买了群晖ds920嘛,安排上.装完了才发现电信不给80/443端口,有了公网ip也无用武之地,难受.咋办?折腾内网穿透,tailscale,***之类的?不想,毕竟还是希望能部署在公网,公网能直接访问.
然后又想到如果前后端分离,服务端在nas上,前端在各大支持静态网页的cdn上不就ok?cdn都支持绑定域名,想法很好,现实打脸.Memos我看了下,确实是前后分离,但是看https://github.com/usememos/memos/blob/main/server/embed_frontend.go#L24,%E4%BD%9C%E8%80%85%E6%8A%8A%E5%89%8D%E7%AB%AF%E7%BC%96%E8%AF%91%E5%87%BA%E6%9D%A5%E7%9A%84dist%E7%9B%AE%E5%BD%95%E7%9B%B4%E6%8E%A5%E5%B5%8C%E5%85%A5%E5%88%B0%E4%BA%86%E7%94%9F%E6%88%90%E7%9A%84go%E7%9A%84%E5%8F%AF%E6%89%A7%E8%A1%8C%E6%96%87%E4%BB%B6%E9%87%8C.
这就导致了我想前端部署在cdn,后端部署在nas上实现不了,除非自己改memos的代码,太折腾.
转念一想,就这么点microBlog的功能能有多麻烦?自己撸一个得了?(其实是给闲的).
https://github.com/kingwrcy/mblog-backend/blob/main/release.md
mBlog,全称micro blog.基于java+mysql.支持自部署的前后端分离的微博,可单用户使用,也可以支持多用户.
DEMO:
mblog.coo.st
mblog.cooolr.online(开放注册) 基于java+mysql,前后分离
m.kingwrcy.cn(开放注册,***评论等) 基于java+sqlite,前后不分离,内存128MB
比如wordpress,hugo,https://github.com/mblog-backend/backend/tree/main/doc/static.md
感谢https://github.com/cooolr,%E5%BC%80%E6%BA%90%E5%9C%B0%E5%9D%80%E5%9C%A8https://github.com/mblog-backend/mblog-***-bot
https://github.com/mblog-backend/browser-plugin
目前只支持Chrome浏览器
支持一键转发文本
特性
tg频道
Nas安装教程

其中服务端域名是在生成RSS内容,和本地上传文件时启用.
写内容时,只有第一行的 以 # 开头的才会被解析为 标签,第二行以及后面的,不解析.
AllInOne 安装可以参看 根目录下的docker-compose.yml,里面包含了前端,后端和MySQL 8.
MYSQL 5.7注意事项
因为开发是在8.0.33的版本上开发的,没想到5.7里mysql要求timestamp类型必须有值,所以直接在5.7上运行,会报错.
解决办法:
'--explicit_defaults_for_timestamp=ON'explicit_defaults_for_timestamp = 1宝塔面板安装
感谢 @lzhang ,教程在此 ,图文并茂,大家有需要的参考下.
源码安装
git clone git@github.com:kingwrcy/mblog-backend.gitapplication.properties文件中的数据库相关信息和前端域名(配置跨域)mvn clean package,需要java>=17和maven>=3.9.1java -jar xxx.jarDocker安装
docker run --volume=${PWD}/mblog:/opt/mblog \ --publish=你要映射的后端端口,必填:38321 \ --restart=always \ --name=mblog-backend \ --detach=true \ --env MYSQL_USER=数据库用户名,必填 \ --env MYSQL_PASS=数据库密码,必填 \ --env MYSQL_URL=数据库地址:端口,必填,前面没有http(s) \ --env MYSQL_DB=数据库名称,必填) \ --env MBLOG_FRONT_DOMAIN=mblog前端地址(配置跨域使用的,带http(s),有端口带端口,docker启动的这里是宿主机的IP,必填) \ kingwrcy/mblog-backend:latest
前后不分离,并且使用sqlite的版本:
docker run --volume=${PWD}/mblog:/opt/mblog \ --publish=你要映射的后端端口,必填:38321 \ --restart=always \ --name=mblog-backend \ --detach=true \ --env DB_TYPE=-sqlite \ kingwrcy/mblog:latest
--volume=${PWD}/upload:/opt/mblog/upload是图片在本地存储才需要挂载的,如果是七牛云之类的,不需要挂载./opt/mblog/data.sqlite,需要映射出来,不然重启数据就丢失了MBLOG_FRONT_DOMAIN如果前后端域名+端口全部一致,可以不用配置,如果不一致,哪怕端口不一致,也需要配置,如:https://mblog-front.comhttp://服务端IP:服务端端口/api.html| 非必填环境变量 | 默认值 | 解释 |
|---|---|---|
| ENABLE_SWAGGER | false | 需要开启API文档的才配置,否则不需要配置,选填 |
| JAVA_OPTS | "-Xms512m -Xmx512m" | 内存设置,建议最低不要低于256m,默认512m |
| DB_TYPE | 无 | 数据库类型,可选 为空时默认mysql,-sqlite:sqlite,注意前面有- |
| MYSQL_USER | 无 | 数据库用户名,DB_TYPE为空时必填 |
| MYSQL_PASS | 无 | 数据库密码,DB_TYPE为空时必填 |
| MYSQL_URL | 无 | 格式:数据库地址:端口,前面没有http(s) ,DB_TYPE为空时必填 |
| MYSQL_DB | 无 | 数据库名称 ,DB_TYPE为空时必填 |
| MBLOG_FRONT_DOMAIN | 无 | mblog前端地址(配置跨域使用的,带http(s),有端口带端口,docker启动的这里是宿主机的IP,必填),前后不分离版本忽略此参数 |
| AUTO_EXECUTE_SQL | true | 自动执行SQL脚本,默认自动执行,如果已经提前执行了,这里配置为false |
前端安装
源码安装
git clone git@github.com:kingwrcy/mblog-front.git.env.docker文件中的VITE_BASE_URL内容为你的服务端地址,有端口的端口也要加上,如:https://mblog-server.com:2023.env.docker文件中的VITE_MBLOG_VERSION内容版本号,自定义,如v1.0.5yarn i && yarn build-only --mode=docker 需要Node版本>=v18由于使用了vue-router的 HTML5 Mode,所以需要在服务器的nginx上写入一条配置. 详情参见HTML5 Mode
如果不配置的话,直接访问详情页,登录页等页面会404,站内跳转的不受影响.
用Docker安装的不需要这个步骤,我已经在Dockerfile中处理过了.
Docker安装
docker run \ --publish=你要映射的前端端口,必填:80 \ --restart=always \ --name=mblog-front \ --detach=true \ --env MBLOG_SERVER_URL=mblog服务端地址,带http(s),有端口带端口,docker启动的这里是宿主机的IP,必填 \ kingwrcy/mblog-front:latest
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务