【Docker项目实战】使用Docker部署Hoodik轻量级云盘工具

举报
江湖有缘 发表于 2025/08/19 14:21:42 2025/08/19
【摘要】 【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 在更多实际项目中的应用。


【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。