diff --git a/apps/affine/README.md b/apps/affine/README.md new file mode 100644 index 00000000..b76b8b07 --- /dev/null +++ b/apps/affine/README.md @@ -0,0 +1,21 @@ +# AFFiNE + +**AFFiNE** 是一个开源的一体化工作区和操作系统,适用于构建知识库的所有构建块以及更多内容——wiki、知识管理、演示和数字资产。它是 Notion 和 Miro 的更好替代品。 + +## 主要特征: + +### 任何形式的块的真正画布,文档和白板现已完全合并。 + +- 许多编辑器应用都声称自己是生产力的画布,但 AFFiNE 是极少数允许您在无边画布上放置任何构建块的应用之一——富文本、便签、任何嵌入式网页、多视图数据库、链接页面、形状甚至幻灯片。我们拥有一切。 + +### 多模式 AI 合作伙伴随时准备投入任何工作 + +- 撰写专业的工作报告?将大纲变成富有表现力且易于展示的幻灯片?将文章总结为结构良好的思维导图?整理工作计划和待办事项?或者... 只需一个提示即可直接绘制和编写原型应用程序和网页?有了你,AFFiNE AI 可以将您的创造力推向想象的边缘。 + +### 本地优先、实时协作 + +- 我们喜欢本地优先的理念,即无论使用云端,您始终拥有磁盘上的数据。此外,AFFiNE 支持在 Web 和跨平台客户端上进行实时同步和协作。 + +### 自托管并塑造您自己的 AFFiNE + +- 您可以自由地管理、自行托管、分叉和构建自己的 AFFiNE。插件社区和第三方模块即将推出。Blocksuite 上还有更多牵引力。查看那里了解如何自行托管 AFFiNE。 \ No newline at end of file diff --git a/apps/affine/data.yml b/apps/affine/data.yml new file mode 100644 index 00000000..c3872152 --- /dev/null +++ b/apps/affine/data.yml @@ -0,0 +1,19 @@ +name: AFFiNE +tags: + - 实用工具 +title: 将文档、白板和数据库完全整合的工作空间 +description: 将文档、白板和数据库完全整合的工作空间 +additionalProperties: + key: affine + name: AFFiNE + tags: + - Tool + shortDescZh: 将文档、白板和数据库完全整合的工作空间 + shortDescEn: A workspace with fully merged docs, whiteboards and databases + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://affine.pro + github: https://github.com/toeverything/AFFiNE + document: https://docs.affine.pro/docs/self-host-affine \ No newline at end of file diff --git a/apps/affine/logo.png b/apps/affine/logo.png new file mode 100644 index 00000000..c0f973a5 Binary files /dev/null and b/apps/affine/logo.png differ diff --git a/apps/affine/stable/data.yml b/apps/affine/stable/data.yml new file mode 100644 index 00000000..dc18035e --- /dev/null +++ b/apps/affine/stable/data.yml @@ -0,0 +1,74 @@ +additionalProperties: + formFields: + - default: 3010 + envKey: PANEL_APP_PORT_HTTP + labelEn: Web Port + labelZh: HTTP 端口 + required: true + rule: paramPort + type: number + - default: 5555 + envKey: PANEL_APP_PORT_HTTP_5555 + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: "" + edit: true + envKey: AFFINE_ADMIN_EMAIL + labelEn: email + labelZh: 管理员邮箱 + required: true + type: text + - default: "" + edit: true + envKey: AFFINE_ADMIN_PASSWORD + labelEn: password + labelZh: 管理员密码 + required: true + type: password + - default: "" + envKey: PANEL_DB_HOST + key: postgresql + labelEn: PostgreSQL Database Service + labelZh: PostgreSQL 数据库服务 + required: true + type: service + - default: affine + envKey: PANEL_DB_NAME + labelEn: Database + labelZh: 数据库名 + random: true + required: true + rule: paramCommon + type: text + - default: affine + envKey: PANEL_DB_USER + labelEn: User + labelZh: 数据库用户 + random: true + required: true + rule: paramCommon + type: text + - default: affine + envKey: PANEL_DB_USER_PASSWORD + labelEn: Password + labelZh: 数据库用户密码 + random: true + required: true + rule: paramComplexity + type: password + - default: "" + envKey: PANEL_REDIS_HOST + key: redis + labelEn: Redis Service + labelZh: redis 服务 + required: true + type: service + - default: "" + disabled: true + envKey: PANEL_REDIS_ROOT_PASSWORD + labelEn: Password + labelZh: redis 密码 + type: text \ No newline at end of file diff --git a/apps/affine/stable/docker-compose.yml b/apps/affine/stable/docker-compose.yml new file mode 100644 index 00000000..b07f40fd --- /dev/null +++ b/apps/affine/stable/docker-compose.yml @@ -0,0 +1,34 @@ +services: + affine: + image: ghcr.io/toeverything/affine-graphql:stable + container_name: ${CONTAINER_NAME} + restart: unless-stopped + ports: + - ${PANEL_APP_PORT_HTTP}:3010 + - ${PANEL_APP_PORT_HTTP_5555}:5555 + command: + ['sh', '-c', 'node ./scripts/self-host-predeploy && node ./dist/index.js'] + volumes: + - ./data/storage:/root/.affine/storage + - ./data/config:/root/.affine/config + networks: + - 1panel-network + environment: + - NODE_OPTIONS="--import=./scripts/register.js" + - AFFINE_CONFIG_PATH=/root/.affine/config + - REDiIS_SERVER_HOST=${REDIS_HOST} + - REDIS_SERVER_PORT=6379 + - REDIS_SERVER_PASSWORD=${PANEL_REDIS_ROOT_PASSWORD} + - DATABASE_URL=postgres://${PANEL_DB_USER}:${PANEL_DB_USER_PASSWORD}@${PANEL_DB_HOST}:${PANEL_DB_PORT}/${PANEL_DB_NAME} + - NODE_ENV=production + - AFFINE_ADMIN_EMAIL=${AFFINE_ADMIN_EMAIL} + - AFFINE_ADMIN_PASSWORD=${AFFINE_ADMIN_PASSWORD} + logging: + driver: 'json-file' + options: + max-size: '1000m' + labels: + createdBy: "Apps" +networks: + 1panel-network: + external: true \ No newline at end of file