【Docker项目实战】使用Docker部署Hoodik轻量级云盘工具
【Docker项目实战】使用Docker部署Hoodik轻量级云盘工具
一、Hoodik介绍
1.1 Hoodik 简介
Hoodik 是一个基于 Rust 和 Vue 构建的轻量级、安全且可自托管的云存储解决方案,专注于通过端到端加密保护用户数据隐私,确保文件在传输和存储过程中不被窥探或篡改。
1.2 主要特点
• 端到端加密:所有文件在用户设备上进行加密和解密,确保只有授权用户才能访问数据。
• 自托管部署:支持私有服务器部署,用户完全掌控数据存储位置和访问权限。
• 高性能传输:基于 Rust 语言开发,充分发挥其速度与性能优势,实现快速文件上传与下载。
• 安全文件共享:支持加密文件分享,确保共享过程中数据依然受到保护。
• 直观网页界面:采用 Vue 构建的简洁用户界面,提供流畅易用的文件管理体验。
• 轻量可靠:架构设计简洁,资源占用低,适合个人及小型团队安全存储与协作。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为Ubuntu 24.04.2 LTS。
hostname |
IP地址 |
操作系统版本 |
Docker版本 |
部署项目 |
jeven01 |
192.168.3.88 |
Ubuntu 24.04.2 LTS |
28.3.3 |
Hoodik |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;2.在Docker环境下部署Hoodik轻量级云盘工具。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
Active: active (running) since Mon 2025-08-04 10:10:52 UTC; 30min ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 860 (dockerd)
Tasks: 10
Memory: 97.2M (peak: 98.4M)
CPU: 606ms
CGroup: /system.slice/docker.service
3.2 检查Docker版本
检查Docker版本
root@jeven:~# docker -v
Docker version 28.3.3, build 980b856
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
root@jeven:~# docker -v
Docker version 28.3.3, build 980b856
四、拉取Hoodik镜像
拉取Hoodik容器镜像,当前最新版本为v1.5.1.
docker pull hudik/hoodik:v1.5.1
null
五、部署Hoodik服务
5.1 创建部署目录
• 创建部署目录
mkdir -p /data/hoodik/data && cd /data/hoodik
• 目录授权
chmod -R 755 /data/hoodik/
5.2 编辑部署文件
使用docker-cli方式部署,命令参考如下:
docker run -d \
--restart always \
--name hoodik \
-p 8300:5443 \
-v $(pwd)/data:/data \
-e DATA_DIR=/data \
-e APP_URL=http://192.168.3.88:8300 \
-e APP_COOKIE_DOMAIN=http://192.168.3.88:8300 \
-e SSL_DISABLED=true \
-e COOKIE_SECURE=false \
hudik/hoodik:v1.5.1
在部署目录下,创建docker-compose.yaml文件,内容如下所示:
vim docker-compose.yaml
version: '3.9'
services:
hoodik:
image: 'hudik/hoodik:v1.5.1'
environment:
- COOKIE_SECURE=false
- SSL_DISABLED=true
- APP_COOKIE_DOMAIN=http://192.168.3.88:8300
- APP_URL=http://192.168.3.88:8300
- DATA_DIR=/data
volumes:
- '/data/hoodik/data:/data'
ports:
- '8300:5443'
container_name: hoodik
restart: always
环境变量名 |
值 |
说明 |
SSL_CERT_FILE |
/data/my-cert-file.crt.pem |
(可选)指定 SSL 证书文件路径,需配合挂载使用 |
SSL_KEY_FILE |
/data/my-key-file.key.pem |
(可选)指定 SSL 私钥文件路径,需配合挂载使用 |
DATA_DIR |
/data |
指定应用数据存储目录 |
APP_URL |
http://192.168.3.88:8300 |
应用的访问 URL |
APP_COOKIE_DOMAIN |
http://192.168.3.88:8300 |
Cookie 所属的域名 |
SSL_DISABLED |
true |
是否禁用 SSL(true 表示禁用) |
COOKIE_SECURE |
false |
是否仅通过 HTTPS 传输 Cookie(false 表示不强制 HTTPS) |
5.3 创建Hoodik容器
执行以下命令,创建Hoodik容器。
docker compose up -d
null
5.4 查看Hoodik容器状态
检查Hoodik容器运行状态,确保Hoodik容器正常启动。
root@jeven:/data/hoodik# docker compose ps
WARN[0000] /data/hoodik/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
hoodik hudik/hoodik:v1.5.1 "/sbin/tini -- /opt/…" hoodik 30 minutes ago Up 30 minutes 0.0.0.0:8300->5443/tcp, [::]:8300->5443/tcp
5.5 查看Hoodik容器日志
检查Hoodik容器运行日志,确保Hoodik服务正常运行。
docker compose logs
null
六、访问Hoodik服务
6.1 访问初始页
浏览器地址: http://<个人的服务器IP>:8300,访问Hoodik的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。
null
6.2 注册账号
注册链接: http://192.168.3.88:8300/auth/register,输入账号和密码后,点击“Next”下一步。
null
会自动Private Key,我们点击“Next”,进行下一步。
null
在设置设置双因素身份验证时候,我们可以直接选择跳过。
null
6.3 上传文件
在Hoodik首页中,我们可以新建文件目录和上传本地文件中,如下所示:
null
在文件列表中,我们可以点击浏览选项,进行在线浏览,效果如下:
null
七、总结
通过本次实践,我们成功地使用 Docker 部署了 Hoodik 轻量级云盘工具,体验了从环境准备到服务部署的完整流程。Hoodik 的易用性和功能设置让我们能够快速搭建个人或小型团队的文件共享平台。过程中,我们也学习了如何利用 Docker 简化应用的部署与管理,提高了开发和部署效率。未来,可以进一步探索 Hoodik 的高级功能以及 Docker 在更多实际项目中的应用。
- 点赞
- 收藏
- 关注作者
评论(0)