使用Docker部署bewCloud轻量级Web云存储服务
一、本地环境检查
1.1检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
root@xin-virtual-machine:~# systemctl status docker
1.2检查Docker版本
root@xin-virtual-machine:~# docker -v
Docker version 28.1.1, build 4eba377
1.3检查docker compromise版本
root@xin-virtual-machine:~# docker -v
Docker version 28.1.1, build 4eba377
二、拉取bewCloud镜像
docker pull registry.cn-hangzhou.aliyuncs.com/jeson/bewcloud:latest
docker pull registry.cn-hangzhou.aliyuncs.com/jeson/postgres:15
三、部署bewCloud服务
3.1创建部署目录
- 创建部署目录
mkdir -p /data/bewcloud/{files,data} && cd /data/bewcloud/
- 设置目录权限
chmod -R 777 /data/bewcloud/
3.2编辑变量文件
vim .env
PORT=8000
BASE_URL="http://192.168.3.88:7600"POSTGRESQL_HOST="postgresql" # docker container name or external hostname/IP
POSTGRESQL_USER="postgres"
POSTGRESQL_PASSWORD="fake"
POSTGRESQL_DBNAME="bewcloud"
POSTGRESQL_PORT=5432
POSTGRESQL_CAFILE=""JWT_SECRET="fake"
PASSWORD_SALT="fake"BREVO_API_KEY="fake"CONFIG_ALLOW_SIGNUPS="false"
CONFIG_ENABLED_APPS="news,notes,photos,expenses" # dashboard and files cannot be disabled
CONFIG_FILES_ROOT_PATH="data-files"
CONFIG_ENABLE_EMAILS="false" # if true, email verification will be required for signups (using Brevo)
CONFIG_ENABLE_FOREVER_SIGNUP="true" # if true, all signups become active for 100 years
# CONFIG_ALLOWED_COOKIE_DOMAINS="example.com,example.net" # can be set to allow more than the BASE_URL's domain for session cookies
# CONFIG_SKIP_COOKIE_DOMAIN_SECURITY="true" # 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_EMAIL="help@bewcloud.com" # if empty, "need help" sections will be disabled
3.3编辑部署文件
vim docker-compose.yaml
services:website:image: registry.cn-hangzhou.aliyuncs.com/jeson/bewcloud:latestcontainer_name: bewcloud-webrestart: alwaysmem_limit: '256m'ports:- 5200:8000volumes:- /data/bewcloud/files:/app/data-filesenv_file: .envdepends_on:- postgresqlpostgresql:image: registry.cn-hangzhou.aliyuncs.com/jeson/postgres:15container_name: bewcloud-dbrestart: on-failureulimits:memlock:soft: -1hard: -1mem_limit: '256m'volumes:- /data/bewcloud/data:/var/lib/postgresql/data# ports:# - 5432:5432environment:- POSTGRES_USER=${POSTGRESQL_USER}- POSTGRES_PASSWORD=${POSTGRESQL_PASSWORD}- POSTGRES_DB=${POSTGRESQL_DBNAME}
3.4创建bewCloud容器
docker compose up -d
3.5查看bewCloud容器状态
root@xin-virtual-machine:/data/bewcloud# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
bewcloud-db registry.cn-hangzhou.aliyuncs.com/jeson/postgres:15 "docker-entrypoint.s…" postgresql 34 seconds ago Up 34 seconds 5432/tcp
bewcloud-web registry.cn-hangzhou.aliyuncs.com/jeson/bewcloud:latest "/tini -- docker-ent…" website 34 seconds ago Up 34 seconds 0.0.0.0:5200->8000/tcp, [::]:5200->8000/tcp
3.6检查bewCloud容器日志
docker compose logs
四、访问DumbAssets服务
4.1bewCloud初始化配置
root@xin-virtual-machine:/data/bewcloud# docker compose --env-file .env run --rm website bash -c "cd /app && make migrate-db"[+] Creating 1/1✔ Container bewcloud-db Runn... 0.0s
deno run --allow-net --allow-read --allow-env migrate-db.ts
Running "001-base.pgsql"...
Success!
Running "002-news-app.pgsql"...
Success!
Running "003-expenses-app.pgsql"...
Success!
Running "004-public-file-sharing.pgsql"...
Success!
4.2注册账号
五、bewCloud基本使用
5.1上传文件
在Files页面,我们点击“+”选项,上传本地文档(当然不止文档)。
5.2笔记功能
在notes页面,我们可以编辑md格式的文本笔记。
5.3RSS订阅功能
六、总结
通过本次实践,我们成功利用 Docker 快速部署了bewCloud
轻量级云存储服务,整个过程简洁高效,体现了容器化部署的强大优势。bewCloud 不仅提供了文件存储、笔记管理等核心功能,还集成了 RSS 订阅等实用特性,满足了个人用户的多样化需求。整个服务运行稳定,界面友好,且完全掌握在自己手中,保障了数据隐私与安全。未来可进一步探索其高级配置与持久化备份策略,提升服务的可靠性与可扩展性。