代运网站,网站制作费用是多少,效果图网站哪个好,速加网零件加工网简介
什么是 bewCloud #xff1f; bewCloud 是一个简化版的自托管云存储解决方案#xff0c;作为 Nextcloud 和 ownCloud 的替代品#xff0c;使用 TypeScript 和 Deno 构建#xff0c;基于 Fresh 框架。该平台旨在为用户提供简单易用的文件存储和共享功能。 主要特点
自…
简介
什么是 bewCloud bewCloud 是一个简化版的自托管云存储解决方案作为 Nextcloud 和 ownCloud 的替代品使用 TypeScript 和 Deno 构建基于 Fresh 框架。该平台旨在为用户提供简单易用的文件存储和共享功能。 主要特点
自托管用户可以在自己的服务器上安装和运行 bewCloud确保数据隐私和安全。简化的用户界面提供直观的文件管理和共享界面易于使用。Docker 支持通过 Docker 和 Docker Compose 进行快速部署简化设置过程。灵活的文件共享支持通过符号链接实现文件共享灵活性高。开源遵循 AGPL-3.0 许可证允许用户自由使用和修改代码。
应用场景
个人云存储用户可以建立自己的云存储服务管理和备份个人文件。小型团队协作适合小型企业或团队使用便于文件共享和协作。开发者使用开发者可以在本地环境中使用 bewCloud 进行测试和开发。 bewCloud 提供了一种轻量级的方式来实现云存储功能非常适合希望自托管解决方案的用户和小型团队。
安装
在群晖上以 Docker 方式安装。 本文写作时 latest 版本对应为 v1.5.6 采用 docker-compose 安装
env.txt
将下面的内容保存为 env.txt
PORT8000
BASE_URLhttp://192.168.0.197:8562POSTGRESQL_HOSTpostgresql # docker container name or external hostname/IP
POSTGRESQL_USERpostgres
POSTGRESQL_PASSWORDfake
POSTGRESQL_DBNAMEbewcloud
POSTGRESQL_PORT5432
POSTGRESQL_CAFILEJWT_SECRETfake
PASSWORD_SALTfakeBREVO_API_KEYfakeCONFIG_ALLOW_SIGNUPSfalse
CONFIG_ENABLED_APPSnews,notes,photos,expenses # dashboard and files cannot be disabled
CONFIG_FILES_ROOT_PATHdata-files
CONFIG_ENABLE_EMAILSfalse # if true, email verification will be required for signups (using Brevo)
CONFIG_ENABLE_FOREVER_SIGNUPtrue # if true, all signups become active for 100 years
# CONFIG_ALLOWED_COOKIE_DOMAINSexample.com,example.net # can be set to allow more than the BASE_URLs domain for session cookies
# CONFIG_SKIP_COOKIE_DOMAIN_SECURITYtrue # if true, the cookie domain will not be strictly set and checked against. This skipping slightly reduces security, but is usually necessary for reverse proxies like Cloudflare Tunnel.# CUSTOM_TITLE
# CUSTOM_DESCRIPTION
HELP_EMAILhelpbewcloud.com # if empty, need help sections will be disabled变量名 (Variable Name)示例值 (Example Value)描述 (Description)网络与基础 URL (Network Base URL)PORT8000应用程序后端服务监听的容器端口号。BASE_URLhttp://192.168.0.197:8562应用程序可公开访问的基础 URL。用于生成绝对链接、API 端点、重定向等。请确保这是用户和前端访问后端的正确地址。数据库 (PostgreSQL)POSTGRESQL_HOSTpostgresqlPostgreSQL 数据库服务器的主机名或 IP 地址。在 Docker 环境中这通常是 PostgreSQL 服务容器的名称。POSTGRESQL_USERpostgres用于连接 PostgreSQL 数据库的用户名。POSTGRESQL_PASSWORDfake用于连接 PostgreSQL 数据库的密码。 极其重要请使用强密码替换 fake并确保安全。POSTGRESQL_DBNAMEbewcloud要连接的 PostgreSQL 数据库的名称。POSTGRESQL_PORT5432PostgreSQL 数据库服务器监听的端口号。5432 是 PostgreSQL 的默认端口。POSTGRESQL_CAFILE (空字符串)(可选) 指向 CA 证书文件的路径用于验证数据库服务器的 SSL 证书。如果为空或未设置可能不进行 SSL 验证或使用系统默认设置。安全与认证 (Security Auth)JWT_SECRETfake用于签发和验证 JSON Web Tokens (JWT) 的密钥。JWT 通常用于用户会话管理和 API 认证。极其重要必须是一个长而随机的、保密的字符串。请替换 fake。PASSWORD_SALTfake用于密码哈希的盐值 (Salt)。在哈希用户密码前添加此盐值以增加安全性防止彩虹表攻击。极其重要必须是一个保密的字符串。请替换 fake。邮件服务 (Email Service)BREVO_API_KEYfakeBrevo (原 Sendinblue) 服务的 API 密钥。如果 CONFIG_ENABLE_EMAILS 设置为 true则需要此密钥来发送邮件如注册验证邮件。请保密。请替换 fake。应用配置 (Application Configuration)CONFIG_ALLOW_SIGNUPSfalse是否允许新用户注册账户。true 允许注册false 禁止注册。CONFIG_ENABLED_APPSnews,notes,photos,expenses以逗号分隔的、要启用的可选应用程序模块列表。根据注释dashboard 和 files 模块是核心功能不能被禁用。这里启用了新闻、笔记、照片和费用模块。CONFIG_FILES_ROOT_PATHdata-files用户上传文件存储的根目录路径。这通常是相对于应用程序工作目录或存储卷的路径。CONFIG_ENABLE_EMAILSfalse是否启用邮件功能。如果设置为 true通常会启用如注册时的邮箱验证等功能并且需要配置邮件服务如此处的 BREVO_API_KEY。CONFIG_ENABLE_FOREVER_SIGNUPtrue如果设置为 true新注册的用户账户将被设置为一个非常长的有效期示例中提到的是 100 年实际上等同于永久有效。CONFIG_ALLOWED_COOKIE_DOMAINS(可选) 以逗号分隔的域名列表。除了 BASE_URL 的域名外还允许在这些域名下设置和读取会话 Cookie。用于多域名访问同一个应用实例的场景。CONFIG_SKIP_COOKIE_DOMAIN_SECURITY(可选) 如果设置为 true则放宽对 Cookie 域名的严格检查。这可能在某些反向代理设置如 Cloudflare Tunnel下是必需的但会略微降低安全性。自定义与帮助 (Customization Help)CUSTOM_TITLE(可选) 自定义应用程序的标题会显示在浏览器标签页或 UI 界面中。如果未设置将使用默认标题。CUSTOM_DESCRIPTION(可选) 自定义应用程序的描述信息可能用于 HTML meta 标签等。HELP_EMAILhelpbewcloud.com显示在应用程序“需要帮助”或支持相关区域的联系邮箱地址。如果留空这些帮助部分可能会被禁用或隐藏。
特别需要说明的是 理论上只要修改 BASE_URL即可其中 IP 为群晖主机的 IP端口为容器对外暴露的本地端口 即使禁用了注册 CONFIG_ALLOW_SIGNUPS“false”第一个注册的用户也会正常工作并成为管理员
docker-compose.yml
将下面的内容保存为 docker-compose.yml
services:website:image: ghcr.io/bewcloud/bewcloud:latestcontainer_name: bewcloud-webrestart: alwaysmem_limit: 256mports:- 8562:8000volumes:- ./files:/app/data-filesenv_file: env.txtdepends_on:- postgresqlpostgresql:image: postgres:15container_name: bewcloud-dbrestart: on-failureulimits:memlock:soft: -1hard: -1mem_limit: 256mvolumes:- ./data:/var/lib/postgresql/data# ports:# - 5432:5432environment:- POSTGRES_USER${POSTGRESQL_USER}- POSTGRES_PASSWORD${POSTGRESQL_PASSWORD}- POSTGRES_DB${POSTGRESQL_DBNAME}然后依次执行下面的命令千万不要遗漏了
# 新建文件夹 bewcloud 和 子目录
mkdir -p /volume1/docker/bewcloud/{data,files}# 进入 bewcloud 目录
cd /volume1/docker/bewcloud# 解决容器中上传文件时的权限相关问题
chown -R 1993:1993 files# 将 docker-compose.yml 和 env.txt 放入当前目录# 一键启动
docker-compose --env-file env.txt up -d# 初始化/更新数据库仅在第一次和任何更新时执行
docker-compose --env-file env.txt run --rm website bash -c cd /app make migrate-db关键说明
这里有两个关键步骤需要单独说明一下
目录权限
如果没有执行下面这个命令
# 解决容器中上传文件时的权限相关问题
chown -R 1993:1993 files在打开 Files 时会报错因为 1993 是 Deno 的 Docker 镜像的默认用户 ID 而正常应该是这样的 数据库初始化
别忘了第一次运行需要初始化数据库
# 初始化/更新数据库仅在第一次和任何更新时执行
docker-compose --env-file env.txt run --rm website bash -c cd /app make migrate-db否则注册用户时会报错
PostgresError: relation bewcloud_users does not exist 而初始化之后就不会有问题了 运行
在浏览器中输入 http://群晖IP:8562 就能看到注册界面 第一次需要点 signup 先注册账号 登录成功之后的主界面 News
支持 feeds 订阅 还是以老苏的博客为例https://laosu.tech/atom.xml 添加成功后 点 View articles 查看文章 Files
bewCloud 不止有网页版还支持 WebDAV 不过 WebDAV 用 RaiDrive 测试并没有成功从 issues#32 看作者似乎并未实现完整的 WebDAV 协议因此可能有些客户端可以有些则不行
客户端
bewCloud 官方提供桌面和移动客户端
桌面同步客户端使用 Tauri 通过 Rust 构建支持 Windows、macOS、Linux 平台 移动版客户端使用 Flutter 通过 Dart 构建支持 iOS 和 Android 其他
bewCloud 除了前面介绍的新闻News和文件Files外还支持照片Photos和 笔记Notes 甚至还包括了预算和费用 Budgets Expenses 只是现在的货币还不支持 RMB 参考文档 bewcloud/bewcloud: A simpler alternative to Nextcloud and ownCloud, built with TypeScript and Deno using Fresh. 地址https://github.com/bewcloud/bewcloud bewcloud/bewcloud-desktop: Desktop Sync client for bewCloud built with Rust using Tauri. ♾️ 地址https://github.com/bewcloud/bewcloud-desktop bewcloud/bewcloud-mobile: Mobile client for bewCloud built with Dart using Flutter. ️ 地址https://github.com/bewcloud/bewcloud-mobile bewCloud is a modern and simpler alternative to Nextcloud and ownCloud written in TypeScript 地址https://bewcloud.com/