Show HN: memEx,一个受 Zettlekasten 和 Org-mode 启发的个人知识库
memEx 是一个受 Zettlekasten 和 Org-mode 启发的个人知识库,支持多用户协作。它包含 Notes、Contexts 和 Pipelines 三个核心功能,分别用于记录笔记、提供上下文和记录流程。主要特性包括隐私控制、便捷的访问方式和反向链接。安装需要 Docker Compose 或 Docker Desktop,并配置相关环境变量。欢迎贡献,无需编码基础。项目采用 AGPLv3 许可证。
memEx
一个结构化的个人知识库,灵感来源于 Zettlekasten 和 Org-mode。
- Notes:记录关于单个项目或概念的笔记。
- Contexts:提供围绕单个主题的上下文,并热链接到笔记中的各个概念。
- Pipelines:记录你的流程,并将上下文附加到每个步骤。
Features
- Multi-user:构建时考虑了共享和协作。
- Privacy:对每个 note、context 或 pipeline 进行隐私控制。
- Convenient:可从任何具有互联网功能的设备访问。
- Backlinks:查看从被引用项目引用过来的项目。
Installation
- 在你的机器上安装 Docker Compose 或者 Docker Desktop。
- 将示例 docker-compose.yml 复制到你本地机器上你想要的位置。默认情况下,绑定挂载会在同一目录中创建。
- 在
docker-compose.yml
中设置配置变量。你需要运行docker run -it shibaobun/memex /app/priv/random.sh
来生成一个新的 secret key base。 - 使用
docker-compose up
或docker-compose up -d
来启动容器!
第一个创建的用户将被创建为管理员。
Configuration
你可以使用以下环境变量在 docker-compose.yml 中配置 memEx。
HOST
:用于生成链接的外部 URL。必须设置为你的托管域名!例如memex.mywebsite.tld
PORT
:要绑定的内部端口。默认为4000
。必须反向代理!DATABASE_URL
:控制要连接的数据库 URL。默认为ecto://postgres:postgres@memex-db/memex
。ECTO_IPV6
:如果设置为true
,则 Ecto 应该使用 IPv6 连接到 PostgreSQL。默认为false
。POOL_SIZE
:控制与 PostgreSQL 一起使用的连接池大小。默认为10
。SECRET_KEY_BASE
:用于签署 cookie 的密钥库。必须使用docker run -it shibaobun/memex priv/random.sh
生成,并设置为服务器启动。REGISTRATION
:控制用户注册是仅限邀请还是设置为公开。设置为public
以启用公共注册。默认为invite
。LOCALE
:设置自定义默认语言环境。默认为en_US
。SMTP_HOST
:你的 SMTP 电子邮件提供商的 URL。必须设置。SMTP_PORT
:你的 SMTP 中继的端口。默认为587
。SMTP_USERNAME
:你的 SMTP 中继的用户名。必须设置!SMTP_PASSWORD
:你的 SMTP 中继的密码。必须设置!SMTP_SSL
:设置为true
以启用电子邮件的 SSL。默认为false
。EMAIL_FROM
:设置发送的电子邮件中的发件人电子邮件地址。默认为no-reply@HOST
,其中HOST
先前已定义。EMAIL_NAME
:设置发送的电子邮件中的发件人姓名。默认为 "memEx"。
Contribution
非常感谢您的贡献,不需要编码能力!你可以浏览 Contribution Guide 了解更多信息。
可以通过 shibao@bubbletea.dev 或在 fediverse 上通过 @shibao@misskey.bubbletea.dev 联系我。谢谢!
License
memEx 在 AGPLv3 或更高版本下获得许可。可以在 license.md 找到最新版本的许可证副本。