【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
在这里插入图片描述

五、部署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 192.168.3.88:8300 应用的访问 URL
APP_COOKIE_DOMAIN 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
在这里插入图片描述

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
在这里插入图片描述

六、访问Hoodik服务

6.1 访问初始页

浏览器地址: http://<个人的服务器IP>:8300,访问Hoodik的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

在这里插入图片描述

6.2 注册账号

注册链接:192.168.3.88:8300/auth/,输入账号和密码后,点击“Next”下一步。

在这里插入图片描述

会自动Private Key,我们点击“Next”,进行下一步。

在这里插入图片描述

在设置设置双因素身份验证时候,我们可以直接选择跳过。

在这里插入图片描述

6.3 上传文件

在Hoodik首页中,我们可以新建文件目录和上传本地文件中,如下所示:

在这里插入图片描述

在文件列表中,我们可以点击浏览选项,进行在线浏览,效果如下:

在这里插入图片描述

七、总结

通过本次实践,我们成功地使用 Docker 部署了 Hoodik 轻量级云盘工具,体验了从环境准备到服务部署的完整流程。Hoodik 的易用性和功能设置让我们能够快速搭建个人或小型团队的文件共享平台。过程中,我们也学习了如何利用 Docker 简化应用的部署与管理,提高了开发和部署效率。未来,可以进一步探索 Hoodik 的高级功能以及 Docker 在更多实际项目中的应用。