笔记、图表和知识管理平台Atlantis

简介

什么 Atlantis ?

Atlantis 是一个专为注重隐私的现代用户设计的自托管平台。它允许你创建精美的 Mermaid.js 图表、撰写笔记和管理知识,而所有数据都保留在你自己的服务器上,无需依赖任何外部云服务。通过其现代化的分屏编辑器,你可以一边编写代码,一边实时预览图表和格式化文本,极大地提升了工作效率。

✨ 主要功能

  • 现代化的编辑器: 提供分屏界面,左侧为代码编辑器,右侧为实时预览,体验流畅。
  • 完整的 Mermaid 支持: 全面集成 Mermaid.js,支持流程图、序列图、甘特图等所有图表类型。
  • 交互式待办事项: 支持通过拖放操作来管理任务,并完全兼容标准 Markdown 语法。
  • 本地数据持久化: 默认使用 SQLite 存储数据,并可通过环境变量轻松配置为 PostgreSQLMySQL,灵活适应不同需求。
  • 主题切换: 支持深色和浅色模式,可根据你的系统偏好自动调整。
  • 收藏与管理: 可以收藏重要图表,并提供便捷的创建、编辑、删除和快速搜索功能。
  • 备份与恢复: 支持将所有数据一键导出为 JSON 格式进行备份,并可随时恢复。
  • 快速搜索:提供快速搜索功能,便于用户查找已保存的图表。

🎨 项目亮点

  • 隐私优先: 作为一个自托管解决方案,Atlantis 确保你的所有数据都由你完全掌控,杜绝了数据泄露的风险。
  • 美观与易用: 采用 Tailwind CSSShadcn UI 构建,界面美观、响应迅速,提供了出色的用户体验。
  • 高度集成: 内置强大的 Mermaid.js 图表库和交互式任务列表,是一个集笔记、图表绘制和任务管理于一体的综合平台。
  • 部署灵活: 提供 Docker 镜像,支持一键部署,并兼容多种数据库,无论是个人使用还是团队协作都非常方便。

Atlantis 提供了一个强大而灵活的工具,适用于多种场景,帮助用户在私密环境中创建和管理内容。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 strikead ,选择第一个 strikead/atlantis,版本选择 latest

镜像有点大,需要耐心

创建目录

需要创建目录用于持久化数据。通过 SSH 登录到您的群晖,执行下面的命令:

1
2
3
4
5
# 新建文件夹 atlantis 和 子目录
mkdir -p /volume1/docker/atlantis/data

# 进入 atlantis 目录
cd /volume1/docker/atlantis

docker-compose.yml

接下来将下面的内容保存为 docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Simple Docker Compose (without Redis)
# Use this if you don't need caching or want a simpler setup
# The application will use in-memory caching instead

services:
atlantis:
image: strikead/atlantis:latest
container_name: atlantis
restart: unless-stopped
ports:
- "3254:3000"
volumes:
# Persist diagram data - map to your preferred location
# Default: uses Docker named volume
# Custom: set ATLANTIS_DATA_DIR environment variable or edit this file
# Example: ./my-data:/app/data
- atlantis_data:/app/data
environment:
- NODE_ENV=production
# Set to 'true' to enable the external API
- ENABLE_API_ACCESS=false
# Prisma provider: sqlite (default) or postgresql/mysql
- PRISMA_PROVIDER=sqlite
# Connection string for the chosen provider; SQLite uses a local file
- DATABASE_URL=file:/app/data/atlantis.db
# No REDIS_URL - uses in-memory caching
healthcheck:
test: [ "CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/" ]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s

volumes:
atlantis_data:
driver: local
driver_opts:
type: 'none'
o: 'bind'
device: '/volume1/docker/atlantis/data'

简单说明:

  1. 虽然为了简化安装使用了 SQLlite,但是也带来了权限的问题,处理不当会导致创建笔记

或者图表失败

所以这次没有像往常一样直接使用目录,而是将目录映射成了卷来规避权限问题

  • volumes::这是 Docker-Compose 文件中的部分,用于定义卷。
  • atlantis_data::这是自定义卷的名称。
  • driver: local:表明使用本地驱动程序,这通常意味着该卷会在本地文件系统中创建或绑定。
  • driver_opts:
    • type: 'none':表示这是一个绑定挂载,而不是 Docker 管理的卷。
    • o: 'bind':指示这是一个绑定挂载。
    • device: '/volume1/docker/atlantis/data':指定要映射的主机目录路径。
  1. 如果是多人访问,建议加上 redis,并将数据库改为 postgresql/mysql

一键启动

docker-compose.yml 放入当前目录,就可以启动了

1
2
# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3254 就能看到主界面

其中 Create diagram 是创建 Mermaid图表,而 Create note 是创建📚笔记

Create diagram

AI 生成了一个 QQ 登录的流程

不是用的内置的 AI ,虽然能选择 OpenAI-compatible,但是没有找到设置 URL 的地方,除非选择 Gemini (Google AI Studio)

回到首页

Create note

笔记支持多种格式

选了 Markdown 的效果

参考文档

Fantastic-Computing-Machine/atlantis: Create beautiful charts and diagrams privately, without relying on external cloud services.
地址:https://github.com/Fantastic-Computing-Machine/atlantis

Atlantis - Self-Hosted Diagrams & Notes
地址:https://fantastic-computing-machine.github.io/atlantis/