Avatar
Moments v0.2.1发布公告

v0.2.1使用了golang作为服务端重写,目前已经基本实现了0.2.0版本的大部分功能.包体积更小了.

  1. 增加了多用户模式,后台可以自由开启是否运行注册多用户.
  2. 支持在Linux/MacOS/Windows平台双击本地启动.
  3. 标签的定义,以#号开头,空格/空行结尾的中间的部分会被认为是标签.
  4. 完善了tag标签的选择,在memo发言的输入框里点击右键可以选择标签来插入.
  5. 支持了完整的markdown,但是目前样式只适配了常用的几个标签,更多的待接下来完善.
  6. 默认用户名密码admin/a123456,登陆后后台可以修改.
  7. 从0.2升级上来的注意音乐和本地音频会丢失,需要重新添加,其它的本地/远程图片/本地/远程视频/豆瓣相关都不会丢失,自动迁移.

环境变量

目前支持以下几个环境变量,环境变量的放置是:

  1. 在项目根目录新建.env文件,里面填入,格式是KEY=VALUE.
  2. 或者自行设置环境变量,不同的操作系统设置环境变量不一致,自行搜索.
变量名 解释 默认值
DB sqlite数据库路径 当前目录下的db.sqlite,不存在会自动创建
PORT 监听端口 默认3000
JWT_KEY JWT密钥,加密登录token的 默认空,自动生成,不填写每次启动生成,每次启动镜像需要重新登录
UPLOAD_DIR 上传文件本地目录 默认当前目录下的upload文件夹,不存在会自动创建
LOG_LEVEL 日志级别 默认info,需要时可以改成debug输出更多日志
ENABLE_SWAGGER 是否启用swagger文档 默认false,开启填true,启用之后访问路径/swagger/index.html即可

启动方式

Docker启动

启动JWT_KEY记得自己修改

sh 复制代码
basepath=$(cd `dirname $0`; pwd)
mkdir -p ${basepath}/moments
docker run --name moments -e JWT_KEY=cfqYVP6CZm9mSqLVGlmL -d -v ${basepath}/moments:/app/data -p 3000:3000 kingwrcy/moments:latest

Docker更新

sh 复制代码
basepath=$(cd `dirname $0`; pwd)
mkdir -p ${basepath}/moments

docker stop moments && docker rm moments
docker pull kingwrcy/moments:latest
docker run --name moments -e JWT_KEY=cfqYVP6CZm9mSqLVGlmL -d -v ${basepath}/moments:/app/data -p 3000:3000 kingwrcy/moments:latest

Docker Compose启动

docker-compose.yml文件

yml 复制代码
version: '3'
services:
  moments:
    image: kingwrcy/moments:latest
    environment:
      JWT_KEY: "BbYS93dHHfIC1cQR8rI6"
    ports:
      - "3000:3000"
    volumes:
      - moments-data:/app/data
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
volumes:
  moments-data:

一键启动 && 更新也是这个脚本

sh 复制代码
docker-compose up -d --pull

本地启动

由于使用了go来开发,所以可以跨平台,支持在linux/windows/macos平台直接启动.

  1. 新建一个空目录,下载好对应平台的可执行文件.
  2. 双击启动.
  3. 需要配置环境变量的,根目录下新建.env文件,自行配置.

本地开发

前置条件,node/go/pnpm环境,没有这些环境的先自行安装.

启动前端

默认监听在3000端口

sh 复制代码
cd front
pnpm i
pnpm dev

启动后端

默认监听在37829端口

sh 复制代码
cd backend
go mod download
go mod tidy
go run .

本地打包

前置条件-> gcc/make/upx(可选),需要gcc是因为gorm的sqlite驱动使用了cgo,没有gcc无法跨平台编译,upx是用来压缩windows的可执行文件的(可选)

执行命令

sh 复制代码
cd backend && make build

以上命令会在backend/dist目录生成windows/linux/macos三个平台的可执行文件.

Avatar
1 个月前
0
0

– 貌似还缺收起和全文

Avatar
1 个月前
0
0

现在 是支持sqlite PostgresSQL吗

Avatar
jerry楼主mod
1 个月前
0
0

@kafka #2 moments 只支持sqlite,不支持postgresSQL

Avatar
1 个月前
0
0

@jerry #3 哦哦

Avatar
1 个月前
0
0

应该不会内存泄露了吧😲

#5
Avatar
jerry楼主mod
1 个月前
1
0

@螺旋丸子 #5 那是必须的,不然重写意义是什么

Avatar
1 个月前
0
0

@wangs #1 我自己拉了dev分支本地跑了下,看了下源码,这个功能大佬应该是已经做了,但是主分支以及docker镜像啥的 还没更新应用上去~alt
alt

Avatar
jerry楼主mod
1 个月前
0
0

@bibu #7 是的下个版本发布就会支持了.

Avatar
1 个月前
0
0
  1. 这里(包括页脚)用灰色(或者旧版的配色)是不是更好一些,不然有一种割裂
    alt
#9
Avatar
jerry楼主mod
1 个月前
0
0

@螺旋丸子 #9 收到,下个版本看看.

Avatar
1 个月前
0
0
  1. 长文本代码块超出边框
    alt
#11
Avatar
1 个月前
0
0
  1. 填入图片链接后迟迟不回显,需要最后手打一个回车(链接地址过长?)
  2. 本地上传多个图片时,在不清空原有图片链接地址的情况下再次上传(分次上传),只会保留原有地址最后的逗号,而原有地址消失
    alt
#12
Avatar
1 个月前
0
0
  1. 这几个图标感觉太小了,而且过于靠近浏览器地址栏了(强烈个人观点)
    alt
#13
Avatar
jerry楼主mod
1 个月前
0
0

@螺旋丸子 #13 已经适配了,下个版本手机上会适当放大一些。

Avatar
jerry楼主mod
1 个月前
0
0

@螺旋丸子 #11 这个你是不是打错了,区分下行内代码和代码块,markdown语法,你搜搜. 代码块语法是3个`符号.

Avatar
1 个月前
0
0

@jerry #15 行内代码和行间代码块都有这个问题

#16
Avatar
1 个月前
0
0

v2.0.4

  1. 使用不存在的语言,点击发表之后全部内容会消失,例如
absc 复制代码
代码内容
  1. 如何增加与删除标签
#17
Avatar
jerry楼主mod
1 个月前
0
0

@螺旋丸子 #17

  1. 不存在的语言目前不支持,要么不输入语言,要么输入正确的语言,下个版本兼容下,无法解析的语言直接提示报错.
  2. 标签下拉框可以删除和新增(直接输入新的就行),正在打包,10分钟后更新镜像试试.
Avatar
1 个月前
0
0

@jerry #18
那我消失的内容还在数据库里吗😅

#19
Avatar
jerry楼主mod
1 个月前
0
0

@螺旋丸子 #19 在,想办法找到id,输入编辑的url进去改下就行,或者等我下个版本.兼容下.

还有你为啥要乱输呢?

Avatar
1 个月前
0
0

不小心多打了一个字母😅
@jerry #20

#21
Avatar
1 个月前
0
0

ENABLE_SWAGGER = 1 开启?

Avatar
jerry楼主mod
1 个月前
0
0

@jkjoy #22 文档已经更新了,填true/false

Avatar
1 个月前
0
0

@jerry #23 可是
Page not found: /swagger/index.html