保姆级教程:使用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 在更多实际项目中的应用。


相关推荐
上海云盾-小余16 小时前
CC 高频请求 + DDoS 流量攻击实战防御:全链路 WAF 流量清洗部署完整流程
网络·爬虫·安全·小程序·ddos
扶疏52516 小时前
Prometheus+Prometheus Adapter+metrics-server+Ingress实现k8s水平自动扩缩容(HPA)
容器·kubernetes·prometheus
张忠琳16 小时前
【NPU】Ascend Docker Runtime v26.0.1 系统级架构分析
云原生·容器·kubernetes·npu·docker-runtime
holidaypenguin16 小时前
前端 Docker 开发与生产部署指南
docker·容器
论迹复利17 小时前
平台安全架构(PSA)概述——从方法论到工程实践
嵌入式硬件·安全·psa
湫默18 小时前
Kubernetes 基础集群部署
云原生·容器·kubernetes
千里念行客24018 小时前
迈向晚期TNBC一线治疗!芦康沙妥珠单抗(sac-TMT)第六项NDA获受理
科技·安全·健康医疗
xia54204644619 小时前
Docker 远程 API(Remote API)未授权访问漏洞入侵过程
运维·docker·容器
数据库安全19 小时前
灾备演练双月报|美创 DRCC 筑牢红十字医院医疗系统安全底线
数据库·安全