前言

一直以来都是用的 有道云笔记 或者各种 博客 来记自己的笔记,以前对这些云笔记什么的,其实没有那么高的需求。但最近一段时间,随着自己的代码开始写的有点杂的时候,就发现笔记是真的很重要,尤其是有些想法曾经琢磨过,但要用的时候总是想不起来怎么写,就很浪费时间。

虽然,有道 也很好,但就是觉得这些笔记数据放在别人那里总是觉得不舒服。趁年轻,还能折腾,搞个属于自己的笔记服务器来玩一下。

网上都在推荐 Leanote (蚂蚁笔记)。后面查了一下,貌似能够支持 Markdown,还可以私有化部署的,而且还是免费的,好像就只有它。试用了一下,感觉也还 OK。特此记录,已备后查

部署环境

信息 说明
操作系统版本 Ubuntu 18.04 64位
Docker 版本 20.10.11
服务器配置 天翼云 4 核 8G 4M带宽

部署步骤

Step 1 创建项目文件夹

cd /home# 创建项目文件夹
mkdir MyNote
cd MyNote# 数据文件夹, 用于映射 mongodb 容器内容, 存放笔记
mkdir Data# 应用文件夹, 用于映射笔记应用的数据
mkdir Leanote# 安装包文件夹, 主要是二进制文件
mkdir Install
cd Install# 下载二进制文件包
wget https://nchc.dl.sourceforge.net/project/leanote-bin/2.6.1/leanote-linux-amd64-v2.6.1.bin.tar.gz# Dockerfile 部署文件夹, 存放关于 Dockerfile 构建过程所需文件
mkdir Docker# 解压文件包至 Dokcer 中
cd Docker
tar -zxvf /home/MyNote/Install/leanote-linux-amd64-v2.6.1.bin.tar.gz

Step 2 创建 MongoDB

# 拉取 mongodb 镜像
docker pull monogo# 运行镜像
docker run -itd --name MyNote_Data --restart=always -p 27017:27017 -v /home/MyNote/Data:/data/db mongo

Step 3 初始化数据

# 复制初始化数据至 MongoDB 中
docker cp /home/MyNote/Docker/leanote/mongodb_backup/leanote_install_data MyNote_Data:/# 进入 Docker
docker exec -it MyNote_Data /bin/bash# 还原初始化数据
mongorestore -h localhost -d leanote --drop --dir /leanote_install_data/# 进入 mongo
mongo
# ---- 以下操作在 mongodb 中进行 ----
# 查看还原效果
> show dbs;
# admin    0.000GB
# config   0.000GB
# leanote  0.001GB
# local    0.000GB# 退出 mongodb
> exit
# ---- 以上操作在 mongodb 中进行 ----# 删除初始数据文件夹
rm -rf leanote_install_data/# 退出 docker
exit

Step 4 设置配置文件

# 打开配置文件
vim /home/MyNote/Docker/leanote/conf/app.conf

找到 # mongodb, 然后将其对应的字段进行修改

# mongdb
db.host=你的内网 ip # 一定要使用内网ip, 不然 mongodb 暴露在外网将存在安全隐患
db.port=27017
db.dbname=leanote # required
db.username= # if not exists, please leave it blank
db.password= # if not exists, please leave it blank

并记得修改 app.secret 中的任意字符,然后保存退出

Step 5 创建 Dockerfile

cd /home/MyNote/Docker
touch Dockerfile
# VERSION 0.0.1
# 基于 ubuntu 18.04 创建
FROM ubuntu:18.04
# 作者
MAINTAINER 你的名字 <你的邮箱># 复制项目到 Docker
COPY leanote/ /root/leanote/# 基本环境配置
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \echo 'Asia/Shanghai' >/etc/timezone && \chmod +x /root/leanote/bin/run.shENTRYPOINT ["/root/leanote/bin/run.sh"]
EXPOSE 9000

Step 6 创建镜像

cd /home/MyNote/Docker
docker build -t='mynote/server' .

Step 7 运行容器

docker run -itd --name MyNote_Server --restart=always -p 9000:9000 -v /home/MyNote/Leanote/db:/data/db -v /home/MyNote/Leanote/leanote:/data/leanote mynote/server

在服务器里打开 9000 端口就可以访问了。

后记

由于是使用 Docker 来部署的,关于给 MongoDB 新增用的的方法,试了很多次,都失败了,暂时还没找到如何给 MongoDB 新增用户的方法,目前只能是先把 MongoDB 的端口关掉,使其只能在内网被应用服务访问。后期如果找到好的方法再来处理。

[Docker] 基于 Leanote 搭建私有笔记服务器的经历相关推荐

  1. php对接AliGenie天猫精灵服务器控制智能硬件esp8266① 在阿里云购买搭建私有云服务器,配置 SSL 证书 ,做好准备工作!

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. php对接AliGenie天猫精灵服务器控制智能硬件esp82 ...

  2. linux ubuntu 安装git服务器,[linux] Ubuntu20.04上安装搭建私有Git服务器Gitea

    [linux] Ubuntu20.04上安装搭建私有Git服务器Gitea [linux] Ubuntu20.04上安装搭建私有Git服务器Gitea Gitea 是相比于gitlab更加轻量化,而且 ...

  3. linux搭建ca服务器搭建,linux下安装EJBCA 搭建私有CA服务器

    linux下安装EJBCA 搭建私有CA服务器 EJBCA是一个全功能的JAVA的CA系统软件,我们可以用此搭建私有CA服务器: 一:首先我的测试环境: 1.  linux mint18.3 62位: ...

  4. 文档保密服务器搭建教程,使用BaGet 搭建私有nuget 服务器

    使用BaGet 搭建私有nuget 服务器 netNugetBaGet 引言 为了增强代码的安全性和企业团队开发的高效性,搭建私有的package 包管理服务器是很有必要的,搭建私有的类库管理服务有以 ...

  5. 基于gitolite搭建轻量级git服务器

    原文地址:http://lisongze.com/2018/09/01/gitolite-gitserver/ or http://lisongze.cn/2018/09/01/gitolite-gi ...

  6. 【玩转树莓派】使用 sinopia 搭建私有 npm 服务器

    为什么80%的码农都做不了架构师?>>>    简介 使用 sinopia 的好处是,node系的工程师,内部协作时,使用自有 npm 包,会非常方便:另外,sinopia,会缓存已 ...

  7. 企业应该如何搭建私有云服务器数据中心?需要注意哪些问题

    近几年来云计算成为热门话题,随着企业业务增多也开始搭建私有云平台,那么企业如何建设私有云平台? 一.做好融合基础架构规划 企业对于私有云的投资并非一个全新的投资项目,可通过整合企业当前现有IT基础设施 ...

  8. 搭建私有Git服务器

    前言  远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改.GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得 ...

  9. Docker入门之四搭建私有仓库

    前面学习了下镜像和容器,今天来学习下仓库,来搭建本地私有仓库.当然可以使用远程的共有的仓库,但在企业中有的还是放在本地,所以需要搭建私有仓库. 一.搭建仓库 可以在容器中run一个仓库镜像. dock ...

最新文章

  1. 计算机技术与软件专业技术资格(水平)考试常见问题
  2. 使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数。请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”。...
  3. 2018年JavaWeb和移动程序员学习的12个框架
  4. 华为鸿蒙系统推出的背景美国,鸿蒙系统+麒麟芯片,流畅度相当ios,手机性能不输苹果芯片...
  5. H.266 参考软件VTM下载和安装
  6. 【渝粤教育】 广东开放大学21秋期末考试管理学基础10241k2
  7. NodeMailer
  8. 在 2017 年将会更加流行的 6 个 Web 开发趋势
  9. 转载 漫谈机器学习中的距离和相似性度量方法
  10. 壳体花纹怎么设计_换热器设计大全
  11. oracle asm 错误集
  12. php smarty 模板注释,smarty中的注释
  13. 分享一下“rmvb转avi“的操作技巧,3步搞定
  14. poj2112,最大流,最优挤奶方案
  15. java实现微信二维码支付
  16. Qt QtabWidget设置背景色 设置标题栏颜色
  17. python 处理大量数据_如何用python处理大量数据
  18. 解决导入MySQL数据库提示“Unknown character set: ‘utf8mb4‘“错误
  19. APP测试就是手机测试吗?
  20. PHP时间戳和日期相互转换

热门文章

  1. 数据能力加持,利尔达携手智能企业助力智慧校园建设
  2. 愿学习linux没有白白受苦
  3. 西湖大学张岳老师的NLP课程强烈推荐!
  4. CentOS安装graphviz
  5. 怎么在电脑桌面上添加备忘录以及电脑上的便签、便利贴怎么设置
  6. Chrome 插件开发小记
  7. [Transformer]Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
  8. 房屋装修选择自装,如何寻找水电工人,比价并施工(水电阶段)
  9. Web Service平台有三种元素构成:SOAP、WSDL、UDDI。区别和联系
  10. .NET生成小程序码,并合自定义背景图生成推广小程序二维码