保姆级教程:使用Docker一键部署Hoodik轻量级安全云盘

保姆级教程:使用Docker一键部署Hoodik轻量级安全云盘

  • 一、Hoodik介绍
    • [1.1 Hoodik 简介](#1.1 Hoodik 简介)
    • [1.2 主要特点](#1.2 主要特点)
  • 二、本次实践规划
    • [2.1 本地环境规划](#2.1 本地环境规划)
    • [2.2 本次实践介绍](#2.2 本次实践介绍)
  • 三、本地环境检查
    • [3.1 检查Docker服务状态](#3.1 检查Docker服务状态)
    • [3.2 检查Docker版本](#3.2 检查Docker版本)
    • [3.3 检查docker compose 版本](#3.3 检查docker compose 版本)
  • 四、拉取Hoodik镜像
  • 五、部署Hoodik服务
    • [5.1 创建部署目录](#5.1 创建部署目录)
    • [5.2 编辑部署文件](#5.2 编辑部署文件)
    • [5.3 创建Hoodik容器](#5.3 创建Hoodik容器)
    • [5.4 查看Hoodik容器状态](#5.4 查看Hoodik容器状态)
    • [5.5 查看Hoodik容器日志](#5.5 查看Hoodik容器日志)
  • 六、访问Hoodik服务
    • [6.1 访问初始页](#6.1 访问初始页)
    • [6.2 注册账号](#6.2 注册账号)
    • [6.3 上传文件](#6.3 上传文件)
  • 七、总结

一、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正常运行。

bash 复制代码
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版本

bash 复制代码
root@jeven:~# docker -v
Docker version 28.3.3, build 980b856

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

bash 复制代码
root@jeven:~# docker -v
Docker version 28.3.3, build 980b856

四、拉取Hoodik镜像

拉取Hoodik容器镜像,当前最新版本为v1.5.1.

bash 复制代码
docker pull hudik/hoodik:v1.5.1

五、部署Hoodik服务

5.1 创建部署目录

  • 创建部署目录
bash 复制代码
mkdir -p /data/hoodik/data   &&  cd /data/hoodik
  • 目录授权
bash 复制代码
chmod -R 755 /data/hoodik/

5.2 编辑部署文件

使用docker-cli方式部署,命令参考如下:

bash 复制代码
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文件,内容如下所示:

bash 复制代码
vim docker-compose.yaml
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容器。

bash 复制代码
docker compose up -d

5.4 查看Hoodik容器状态

检查Hoodik容器运行状态,确保Hoodik容器正常启动。

bash 复制代码
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服务正常运行。

bash 复制代码
docker compose logs

六、访问Hoodik服务

6.1 访问初始页

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

6.2 注册账号

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

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

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

6.3 上传文件

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

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

七、总结

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


相关推荐
Black蜡笔小新8 分钟前
运维提效!视频汇聚平台EasyCVR视频质量诊断,掉线花屏自动预警
运维·安全·音视频
数据知道1 小时前
哈希与密码存储——bcrypt、Argon2、盐值与彩虹表
网络·算法·安全·网络安全·密码学·哈希算法
sbjdhjd1 小时前
从 assert 动态调用报错到临时文件链路:PHP 5.6 与 7.3 授权靶场中的短 payload 复盘 | (17字符绕过)
安全·网络安全·数据挖掘·开源·云计算·php·字符绕过
sbjdhjd1 小时前
从 7 字符文件名拼接到二维数组取值:PHP 无参函数限制下的受控靶场复盘 | (7字符绕过)
网络·nginx·安全·网络安全·云计算·php·apache
自律最差的编程狗1 小时前
Ubuntu下Docker部署Ollama 轻量模型
linux·ubuntu·docker
wdfk_prog2 小时前
大型 Docker 镜像导出导入工程化:可靠性、磁盘与压缩
运维·docker·容器
隐擎fox2 小时前
网络传输安全剖析:WebRTC 本地真实 IP 泄漏机制(STUN/TURN)与 Python 防护检测实战
网络·网络协议·tcp/ip·安全·webrtc
郝开2 小时前
Docker Compose 模块化多环境配置规范指南:示例搭建Alf Tengine MD2DOC 1.1.1
运维·docker·容器
字节暗面2 小时前
SO 加固强度自查 Checklist:静态、加载链、运行时看哪几项
安全·逆向
GIS数据转换器2 小时前
遥感GIS一体化技术应用平台
大数据·人工智能·python·安全·数据挖掘