Code Monkey home page Code Monkey logo

moments's Introduction

极简朋友圈

又开了个新坑,极简论坛,可以过来用于讨论极简朋友圈,极简博客的社区,当然代码也开源了,可以自由部署使用,有问题可以上论坛反馈.

重写了多人版朋友圈 -基于世界上最好的编程语言php编写的demo,目前还不完善,有需要的可以看看.

极简分享 - 基于golang的分享社区,镜像包只有6mb.

docker pull docker pull moments github action status docker pull docker pull docker pull

社区版用户版本,由网友自行fork修改而成.本体目前不支持多用户.

有需要的可以看看,目前已经开放注册.

贡献者 ✨

感谢这些贡献代码的朋友

Randall
Randall

💻
jonny
jonny

💻
明

💻
yee
yee

💻
Chef
Chef

💻
小王先森
小王先森

💻
Athurg Gooth
Athurg Gooth

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

从v0.2版本起,这个环境变量必填,不填无法正常使用.

-- 自定义jwt密钥(从0.2版本开始必填,不填无法使用)
NUXT_JWT_KEY=自定义jwt密钥,可以自己随机生成

S3配置教程

docker pull docker pull

S3兼容的对象存储配置方法(不是必须的,只有你需要把图片存储到对象存储时才需要配置,默认图片存在本地,可备份):

又拍云 不支持使用预签名 URL 上传对象,所以不支持又拍云.

在线DEMO,欢迎体验.目前不支持多用户,多用户版本已由RandallAnjie自行实现了,有需要的可以去看看

1panel本地安装,感谢包子叔提供的教程.

  • 支持匿名评论/点赞
  • 支持引入网易云音乐,b站视频,插入链接等
  • 支持自定义头图,个人头像,网站标题等
  • 支持上传图片到S3兼容的云存储,支持本地存储
  • 适配手机
  • 支持暗黑模式
  • 数据库采用sqlite,可随时备份
  • 支持引入豆瓣读书/豆瓣电影,样式来源于这里

有其他需求欢迎提issues.

默认用户名密码:admin/a123456,登录进去后后台可以自己修改密码.

自定义其他配置

打开配置管理器,配置好后点击一键复制配置,然后进入moments后台拉到最底下,导入进去,保存即可生效.

使用google recaptchaV3(可选)

自行去google recaptchaV3 admin console开通,每月100万次免费调用. 开通成功后复制网站密钥和通信密钥,填入上方的环境变量对应的key里面.

Docker启动

Docker首次启动看这里

Docker更新看这里

Docker Compose启动

Docker Compose启动看这里

源码编译启动

首先设置环境变量:

-- sqlite数据库位置
DATABASE_URL="file:/app/data/db.sqlite" 
-- 本地上传的文件目录
UPLOAD_DIR="/app/data/upload"
-- 配置文件目录(可以复制项目根目录的)
CONFIG_FILE=/app/data/config.json
-- 自定义jwt密钥(从0.2版本开始必填,不填无法使用)
NUXT_JWT_KEY=自定义jwt密钥,可以自己随机生成

执行命令

-- 安装依赖
npm install
-- 脚本迁移
npx prisma migrate dev
-- 执行构建
npm run build
-- 预览
npm run preview

编辑SQLITE数据库

# 容器内部执行
npx prisma studio

执行上面的命令会在容器内部暴露一个5555端口,暴露到主机后可以通过 http://容器IP:5555 访问数据库,直接修改/删除/新增数据.

配置S3(可选)

由于使用了使用预签名 URL 上传对象方案来上传图片到S3,简单来说就是前端直接上传文件到S3,不经过服务端.

不支持这个预签名技术的S3无法上传,据我所知,号称兼容S3的云存储大部分都支持这个特性.比如腾讯云,七牛云,阿里云等.

另外,要求在S3上配置跨域,配置你当前的域名能够访问S3的资源,不配置的话,是无法使用的.

比如我这里使用的是缤纷云,配置如下:

缤纷云

重置密码

目前没有别的办法重置密码,只有修改数据库.见编辑SQLITE数据库.

或者任何能正常打开SQLITE数据库的工具都行,数据库见前面的环境变量部分.

打开bcrypt-generator或者其他类似的bcrypt在线加密的网站,加密你的密码.

复制加密后的密码,编辑数据库,更新User表pwd字段,更新完后记得关掉5555端口的映射,执行npx prisma studio命令停止5555端口.

打赏

如果你觉得这个项目对你有帮助,可以对我打赏,感谢!

1713695645770.png

moments's People

Contributors

akarikun avatar athurg avatar chef5 avatar dependabot[bot] avatar dinphy avatar douseful avatar jonnyan404 avatar kingwrcy avatar lateautumn2 avatar randallanjie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

moments's Issues

希望把 邮件通知 功能放到设置里面

希望把 邮件通知 功能放到设置里面,通过环境配置操作很不方便,也没有配置成功过。
设置里搞一个开关,可以默认关闭,需要的开启后在输入框里填写账号、密码、邮箱、发件人等信息。

希望能支持传视频啊

我的理解是可以当成一个私人的朋友圈,记录分享自己的生活点滴。
那多数时候可能就是手机操作,
手机直接记录,发送,图片还好,但是视频没办法直接上传,
有时候录了一段有趣的视频想要提交,
我还得先去找个平台上传发布获取链接,(这个可能还涉及到审核和时效)
于是我尝试用群晖自己的相册分享视频链接或者可道云的文件分享,但是那个外链都是下载页的外链,并不支持直接被当成视频引用。
所以最后我只能去搭个图床上传视频获取视频外链,

这样体验就蛮割裂的。
如果能直接支持传视频就好了。
或者说有什么好的解决方法吗?

建议界面自定义配置粘贴时做基础性校验

v0.1.3界面配置粘贴时没有做基础性校验,比如用户直接在配置的textarea中右键粘贴,可能此时的剪切板完全没有数据,此时配置项就被全部清空了。再或是如果粘贴的内容与期望的配置项不匹配,那么会不会导致整个项目崩溃,这个还没试。

🙏感谢作者的辛苦付出,一直不断在更新代码!

两点功能性需求

如无计划开发,可直接关闭此issue

  1. 提交按钮 支持快捷键,比如 ctrl+enter
  2. 支持本地视频(播放流式加载)

有没有办法处理图片的显示方式?

考虑到上传的图片不能压缩,在页面上加载时,带宽小的服务器老半天显示不出图片来,有没有办法处理一下呢?
比如预设一个图片懒加载之类的,或者前端默认显示图片的预览图,当用户点击查看时才显示原图(毕竟原图好几个MB)。

功能建议:增加修改用户名的功能

感谢博主开源这么美观的朋友圈,不知道作者能否考虑增加修改用户名的功能呢?
默认的admin用户名不可删除,大大增加了撞库风险。

支持#号tag

如题,支持#号标签。

这个功能朋友圈有。

不过,我们可以考虑下这个项目长期定位是什么,比如轻量级的self-host微博(能评论互动但不要转发等能力)可能更合适,这样的话能有基础的内容组织能力比较好。比如tag筛选,筛选含图的,等等。

我理解朋友圈很多事简洁UI的模仿,朋友圈的精髓在权限控制(如共同好友才能看到评论),这个精髓作为self-host网站是做不到的。

我目前在同时用memos和moments,momes完全失控了。希望moments能守住初心,越来越好。

一个建议

能不能使用 GitHub Issues 做为源,回复和帖子,基于这个交互,相对于博文的留言,这个感觉是一个不错的“朋友圈”

内容编辑BUG

编辑内容时出现的BUG,主要是有图片的内容,没有完全联动起来。如果点击有图片的内容编辑,还未提交,然后又去点击编辑纯文字的,或者编辑有内嵌链接的,这是就会出现有图片的内容,图片还在,没有跟随点击编辑其他内容而隐藏。
比如,我先编辑图文的内容,如下:
微信截图_20240426171052

编辑框是这样的
微信截图_20240426171718

我接着又点击编辑一个纯文字的,图片还在
微信截图_20240426171849

然后,我又去点击编辑有内嵌链接的,图片依然还在
微信截图_20240426172103

但是编辑有图文的内容时,又是正常的。
微信截图_20240426172118

另外,如果能在编辑内容时滚动到编辑框位置的话,这样更方便操作,要么整个抽屉或者弹窗。离编辑框远的内容,点击了编辑以为没反应。

不会配置邮件通知,挂载方法能详细点吗?

我是小白,初接触docker容器,我在服务器根目录下,按照目录结构新建了 /app/data/config.properties 文件,然后用了下面的命令:docker run -v /app/data/config.properties:/app/data/config.properties kingwrcy/moments:0.1.0
config.properties文件中,邮件通知相关选项已经修改了,没啥效果。

增加支持删除指定评论功能

如果有恶意评论包含一些非法内容,不能删除就比较麻烦了

现在的评论管理员也是不能删除的,只能删除整条朋友圈。

希望增加下这个功能。

官方提供了访问量统计代码,默认有点不太好看,有大神给美化下 css 吗?

官方提供了访问量统计代码,默认有点不太好看,有大神给美化下 css 吗?

image

https://github.com/kingwrcy/moments/blob/master/q&a.md

document.addEventListener("DOMContentLoaded", () => {
setTimeout(() => {
document
.querySelector(".footer")
.insertAdjacentHTML(
"afterend",
<div class='flex text-sm justify-center'><div id="busuanzi_container_site_pv">本站总访问量<span id="busuanzi_value_site_pv"></span>次</div></div>
);
var script = document.createElement("script");
script.src = "//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js";
script.async = true;
document.head.appendChild(script);
}, 500);
});

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.