基于S3存储的笔记应用Notea

什么是 Notea ?

Notea 是存储在 S3 上的自托管笔记应用程序,Notea 不需要数据库。笔记存储在 AWS S3 存储桶或兼容的 API 中。这意味着您可以使用 MinIO(自托管)、阿里云 OSS(如 AWS S3)或 NAS 来存储您的数据。

什么是 S3 存储

S3Amazon Web Services (AWS) 提供的一项服务, 它通过基于 RESTful API 的接口提供对象存储。

Notea支持多种对象存储,包括: MinIOAmazon S3Aliyun OSSTencent COSOracle Object Storage ExoscaleCloudflare R2 ,具体的设置可以参考官方的示例:https://github.com/notea-org/notea/tree/main#storage

什么是 MinIO ?

MinIO是一个用Golang开发的基于Apache License v2.0开源协议的对象存储服务。其兼容亚马逊 S3云存储服务接口,非常适合于存储大容量非结构化的数据。

下面的安装中,老苏选择了 MinIO作为 Notea 的存储桶

安装

在群晖上以 Docker 方式安装。

老苏选择的是main 而不是 latest,因为 latest 对应的版本为 0.3.6,已经有两年没有更新了;

撰写本文时,main对应的版本是 0.4.0-alpha

基于S3存储的笔记应用Notea_第1张图片

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 notea 和 子目录
mkdir -p /volume2/docker/notea/data

# 进入 notea 目录
cd /volume2/docker/notea

# 运行 MinIO 容器
docker run -d \
   --restart unless-stopped \
   --name notea-minio \
   --entrypoint sh \
   -v $(pwd)/data:/data \
   -e MINIO_ACCESS_KEY=Q3AM3UQ867SPQQA43P2F \
   -e MINIO_SECRET_KEY=zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG \
   minio/minio \
   -c 'mkdir -p /data/notea && mkdir -p /data/notea-test && minio server /data'
可变
MINIO_ACCESS_KEY 访问密钥
MINIO_SECRET_KEY 秘密密钥

【注意 】:MINIO_ACCESS_KEYMINIO_SECRET_KEY 已经被弃用,取而代之的是 MINIO_ROOT_USERMINIO_ROOT_PASSWORD。这两个变量的作用和前两个一样,只是名字不同。

如果 MinIO 能正常启动了,接下来就可以运行 Notea

# 运行 Notea 容器
docker run -d \
   --restart unless-stopped \
   --name notea-webapp \
   --link notea-minio:minio \
   -p 3320:3000 \
   -e STORE_ACCESS_KEY=Q3AM3UQ867SPQQA43P2F \
   -e STORE_SECRET_KEY=zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG \
   -e STORE_BUCKET=notea \
   -e STORE_END_POINT=http://minio:9000 \
   -e STORE_FORCE_PATH_STYLE=true \
   -e PASSWORD=notea \
   -e COOKIE_SECURE=false \
   cinwell/notea:main
可变
STORE_ACCESS_KEY MinIO的访问密钥
STORE_SECRET_KEY MinIO的秘密密钥
STORE_BUCKET MinIO的存储桶名称
STORE_END_POINT MinIO的访问地址
PASSWORD 登录网页的密码
COOKIE_SECURE 如果网站不是https,需要将其设置为 false

更多的环境变量请参考官方文档:https://github.com/notea-org/notea/tree/main#environment-variables

docker-compose 安装

Notea 涉及到两个镜像,比较简单的安装方式是编排 docker-compose.yml 文件,然后用 docker-compose up -d 命令一键启动

将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  minio:
    image: minio/minio
    container_name: notea-minio
    restart: unless-stopped
    #ports:
    #  - 9000:9000
    volumes:
      - ./data:/data
    environment:
      MINIO_ACCESS_KEY: Q3AM3UQ867SPQQA43P2F
      MINIO_SECRET_KEY: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG
    entrypoint: sh
    command: -c 'mkdir -p /data/notea && mkdir -p /data/notea-test && minio server /data'
  
  notea:
    image: cinwell/notea:main
    container_name: notea-webapp
    restart: unless-stopped
    ports:
      - 3320:3000
    environment:
      STORE_ACCESS_KEY: Q3AM3UQ867SPQQA43P2F
      STORE_SECRET_KEY: zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG
      STORE_BUCKET: notea
      STORE_END_POINT: http://notea-minio:9000
      STORE_FORCE_PATH_STYLE: "true"
      PASSWORD: notea
      COOKIE_SECURE: "false"
      BASE_URL: http://192.168.0.197:3320/
    depends_on:
      - minio

然后执行下面的命令

# 新建文件夹 notea 和 子目录
mkdir -p /volume2/docker/notea/data

# 进入 notea 目录
cd /volume2/docker/notea

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3320 就能看到登录界面

按前面的设置,PASSWORD设为了 notea

基于S3存储的笔记应用Notea_第2张图片

主界面

基于S3存储的笔记应用Notea_第3张图片

中文

点左下角的齿轮,进入 Settings

基于S3存储的笔记应用Notea_第4张图片

Settings --> Basic --> Language,选择 简体中文

基于S3存储的笔记应用Notea_第5张图片

即时生效,不需要保持或者刷新页面

基于S3存储的笔记应用Notea_第6张图片

新建页面

+ 号新建页面

基于S3存储的笔记应用Notea_第7张图片

文档支持 markdown 格式

基于S3存储的笔记应用Notea_第8张图片

支持分享

基于S3存储的笔记应用Notea_第9张图片

每日笔记

可以新建 每日笔记

基于S3存储的笔记应用Notea_第10张图片

和页面的区别在于默认以日期为文件名

基于S3存储的笔记应用Notea_第11张图片

笔记文件在 FileStation 中的存储

基于S3存储的笔记应用Notea_第12张图片

最后来张官方效果图,看起来在移动端上,显示效果也还不错

基于S3存储的笔记应用Notea_第13张图片

参考文档

QingWei-Li/notea: Self hosted note taking app stored on S3
地址:https://github.com/QingWei-Li/notea

Notea - Self-hosted note-taking app stored on S3 | AKA a self-hosted Notion alternative : selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/n0jacf/comment/gw89iyo/?utm_source=share&utm_medium=web2x&context=3

你可能感兴趣的:(笔记,群晖,docker,S3)