什么是 Notea ?
Notea
是存储在S3
上的自托管笔记应用程序,Notea
不需要数据库。笔记存储在AWS S3
存储桶或兼容的API
中。这意味着您可以使用MinIO
(自托管)、阿里云OSS
(如AWS S3
)或NAS
来存储您的数据。
什么是 S3 存储
S3
是Amazon Web Services
(AWS
) 提供的一项服务, 它通过基于RESTful API
的接口提供对象存储。
Notea
支持多种对象存储,包括: MinIO
、Amazon S3
、Aliyun OSS
、Tencent COS
、Oracle Object Storage
、 Exoscale
、Cloudflare 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
;
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_KEY
和 MINIO_SECRET_KEY
已经被弃用,取而代之的是 MINIO_ROOT_USER
和 MINIO_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
主界面
中文
点左下角的齿轮,进入 Settings
Settings
--> Basic
--> Language
,选择 简体中文
即时生效,不需要保持或者刷新页面
新建页面
点 +
号新建页面
文档支持 markdown
格式
支持分享
每日笔记
可以新建 每日笔记
和页面的区别在于默认以日期为文件名
笔记文件在 FileStation
中的存储
最后来张官方效果图,看起来在移动端上,显示效果也还不错
参考文档
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