目录
简介
My-BookMark
是在线的书签管理工具,帮助你快速记录你喜欢的网站,并可以随时随地查看这些站点,而不必拘泥于使用的浏览器。无论在什么地方,只要能接入网络,就能打开属于你自己的网络书签,看到自己收藏的页面网址。
项目地址:https://github.com/luchenqun/my-bookmark
体验网址:https://b.lucq.fun/#/
- 体验账号:
test
- 密码:
123456
功能
- 需要注册账号用户。
- 在书签分类里面,可以更新分类,删除分类,新增分类,对分类显示进行排序。分类的标签默认按照添加日期展示,但是可以点击表格的标题,按照点击次数,添加日期,最后点击从大到小进行排序。
- 可以按照指定添加时间段,指定分类目录,指定网址关键字等进行查询。
- 添加书签的时候,会自动获取title,供用户编辑。其中:Insert键打开添加页面,再次按Insert键保存书签,Esc取消添加。
- 可以导入Chrome的书签导出文件,暂时做在设置里面。
- 书签可以作为公有或者私有,公有可供所有人搜索。
- 可以将搜索到其他用户的书签转存为自己的书签。
- 可以将书签导出来,然后导入到浏览器。
- 在热门标签里面,有在网上找的热门书签。
- 新增备忘录功能,有时候随手要做点纪录,就方便了。任意界面按快捷键A增加备忘录。双击备忘录可查看详情!亦可分享备忘。
- 在设置的全局链接,可设置快捷键,用来在任何页面,快速打开设置的链接。
- 增加Chrome插件,可在任意界面快速添加书签至系统。如果你无法访问该插件,可以按照Chrome如何安装插件(开发版本/自制)方法安装插件,插件请到bookmark-plugin下载
安装
基于原版修改版
Docker安装
docker run -d -p 2000:2000 -p 3306:3306 mcstudio/mybookmark
自用docker
官方原版
Docker安装
此部署方式适合新手。
如果你的Linux环境中没有安装Docker环境。那么请先执行如下命令安装Docker环境。
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
安装好docker环境之后,执行命令
docker run -d -p 2000:2000 -p 3306:3306 luchenqun/mybookmark
安装并启动应用即可。然后在浏览器输入: http://你的IP:2000/ 即可访问书签应用。安装好的环境默认了一个账号test,密码为123456。
如果MySQL需要远程访问,那么你需要进入容器之后更新 /etc/mysql/mysql.conf.d/mysqld.cnf,将绑定地址 127.0.0.1
改为 0.0.0.0
。然后执行命令service mysql restart
重启数据库服务。安装后的 MySQL默认有两个账户,一个是root账户,无密码。一个是在文件/etc/mysql/debian.cnf
有个账号密码。当然这些账号都是只能在本地访问的,你需要手动创建一个可供远程访问的账号。
另外,有人做了arm架构的docker,如果有需要的请按如下命令执行安装
docker run -itd --name mybookmark -p 2000:2000 -p 3306:3306 740162752/bookmark
手动安装
这种适合动手能力比较强的人员。
1、安装MySQL数据库。如果不会,请戳教程MySQL 数据库安装教程。有点需要注意的是,MySQL的版本至少要是5.6。否则执行schema.sql文件会出错。
2、新建一个数据库名,使用MySQL将根目录下面的schema.sql文件执行一遍,创建数据库表格。有个问题尤其要注意:数据库一定要使用UTF-8的编码,否则执行一些汉字的sql语句会出错!如果是Ubuntu,大概过程如下。
mysql -u root -p // 使用root账号进入mysql数据库。按回车之后输入安装时候root的密码。
CREATE DATABASE mybookmarks DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; // 创建mybookmarks数据库。
CREATE USER 'test'@'%' IDENTIFIED BY '123456';// 创建一个以用户名为test,密码为123456的用户
GRANT ALL ON *.* TO 'test'@'%'; // 给刚创建的test用户数据库所有的权限
use mybookmarks; //选择刚创建的数据库。
source /home/lcq/schema.sql; // 执行schema.sql文件创建数据库表格。注意,将路径换为你schema.sql所在路径。
3、如果你是全新部署,你可忽略此步骤。如果之前部署过此应用,那么需要执行update.sql文件需要升级。注意:升级之前,请务必备份数据库!确认是否需要运行此升级sql文件也很简单,看一下你之前的数据库mybookmarks下面有没有tags_bookmarks
这个数据表。如果有,那么需要执行。执行方法还是如上类似source /home/lcq/update.sql;
。
4、安装Node.js。Node.js版本至少要求12.0以上。不会的话,请按照上面步骤1提供的方法自行解决。
5、克隆代码git clone git@github.com:luchenqun/my-bookmark.git
,切换到项目根目录下面,执行npm install
安装package。
6、在根目录,更新pm2.json
文件,只需要更新cwd
项即可。该项为你项目所在的路径。更新src/config/adapter.js
下面exports.model
关于你的MySQL的账号密码信息。注意,该账号必须要有写数据库的权限!
7、如果上面的都做好了,执行命令npm install pm2 -g
安装pm2模块。再执行命令pm2 startOrReload pm2.json
。以后如果项目代码有升级,更新代码之后,执行此命令即可重启该应用。
8、在浏览器里面输入:http://你的IP:2000/
。
9、如果需要域名部署的话,推荐使用nginx作为HTTP和反向代理服务器,根目录有一份nginx.conf
文件,你只需要更新root
项即可使用。相关知识,请自行百度。
预览
数据库修改
因为数据库在容器内,而且没有持久化,所以数据库的备份可能用客户端会比较方便,但默认情况下,容器内的 MySQL
不支持远程访问,需要我们做一些处理:
进入容器之后更新 /etc/mysql/mysql.conf.d/mysqld.cnf
,将绑定地址 127.0.0.1
改为 0.0.0.0
因为容器内未带编辑器,所以我们只能将 mysqld.cnf
拷贝到容器外编辑完后再拷贝回去,在 SSH
客户端中执行👇下面的命令:
docker container list //查看容器ID
docker exec -it 容器ID /bin/bash
vim /etc/mysql/mysql.conf.d/mysqld.cnf //如果提示vim找不到则使用命令 apt-get update && apt-get install vim -y 安装在容器内安装编辑器
然后修改127.0.0.1
改为 0.0.0.0
,wq保存退出编辑器后重启数据库:
service mysql restart
创建 MySQL
远程访问的账号、密码,在容器的 终端机
中执行👇下面的命令:
# 用 root 登录,无密码
mysql -u root -p
# 创建远程访问账号 mbm ,密码 123456
CREATE USER 'mbm'@'%' IDENTIFIED BY '123456';
# 授予用户在所有数据库上的所有权限
GRANT ALL PRIVILEGES ON *.* TO 'mbm'@'%' WITH GRANT OPTION;
# 刷新系统权限表
flush privileges;
# 退出
quit
然后使用软件登陆数据库进行管理即可!