在 OrangePi 上使用 Docker-Compose 搭建蚂蚁笔记服务器

发布于 2023-03-14 20:44:31 字数 2285 浏览 107 评论 0

蚂蚁笔记 是一款很不错的云笔记应用,基本上可以用来代替 Evernote,最棒的是它可以很方便的自建服务器。

蚂蚁笔记服务端基于 Mongo 数据库,我们可以直接基于 Mongo 镜像来搭建自己的服务镜像,但是基于一个容器只跑一个进程的原则,推荐将 Mongo 数据库和蚂蚁笔记服务分开来。

1、创建 docker-compose.yml,填入下面内容

version: "0.1"

services:
  mongo:
    image: mongo
    volumes:
      - .data:/data

  leanote:
    build: leanote
    ports:
      - 9000:9000
    links:
      - mongo

这里,我们直接使用 docker 官方提供的 mongo 镜像来提供 mongo 数据库服务。leanote 目录则存放构建蚂蚁笔记服务端的构建内容

2、在 leanote 目录下创建 Dockerfile,填入下面内容

FROM mongo
WORKDIR /root/
ADD run.sh /root/
ADD https://static.axboy.cn/leanote/leanote-linux-arm-v2.6.1.bin.tar.gz  /root/leanote.tar.gz
RUN tar -xzf /root/leanote.tar.gz -C /root/ && \
      rm -f /root/leanote.tar.gz && \
      chmod a+x /root/run.sh && \
      chmod a+x /root/leanote/bin/run.sh
RUN sed -i '/db.host/ s/127.0.0.1/mongo/' /root/leanote/conf/app.conf
EXPOSE 9000
ENTRYPOINT
CMD /root/run.sh

这里要说明的是:

  1. 虽然我们将 mongo 数据库和蚂蚁笔记服务端分开,但由于导入蚂蚁笔记初始脚本时需要用到 mongorestore 命令,因此这里依然基于 mongo 构建我们的镜像,只不过在后面通过 ENTRYPOINT 来禁止mongo服务的启动
  2. 蚂蚁笔记默认的配置的 mongo 主机是 127.0.0.1,这里需要修改为 mongo,也就是 docker-compose.yml 中定义的 mongo 数据库的服务名
  3. 蚂蚁笔记默认通过 9000 端口对外提供服务,因此这里通过 EXPOSE 90009000 端口暴露出去

3、在 leanote 目录下创建 run.sh,填入下面内容

#!/usr/bin/env bash

# 倒入初始数据
if ! echo "show dbs" |mongo --host mongo|grep leanote
then
  mongorestore -h mongo -d leanote --dir /root/leanote/mongodb_backup/leanote_install_data/
fi
bash /root/leanote/bin/run.sh

这个 run.sh 很简单,就是先查看 mongo 主机上是否已经有了 leanote 数据库。 若没有这个数据库,则从 /root/leanote/mongodb_backup/leanote_install_data/ 中导入初始化数据。 然后启动蚂蚁笔记的服务。

这里需要注意的是:

  1. mongomongorestore 命令后指定的主机名 mongo 就是 docker-compose.yml 中定义的 mongo 数据库的服务名
  2. 运行 docker-compose up -d 启动服务
  3. 访问 http://orangepi:9000 就能看到蚂蚁笔记服务的 web 界面了

leanote_web.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

你另情深

暂无简介

文章
评论
27 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文