在项目开发与日常运维中,高效管理图标资源是一个常见需求。通用的图床服务往往难以满足图标在尺寸、加载效率及分类管理上的特定要求。本文将介绍如何通过 Docker 容器化技术,在VPS或飞牛NAS上快速部署一个功能完善的自托管图标库——HD-Icons,实现图标的集中管理、便捷检索与调用。
项目展示
主界面

图标样式预览
移动端自适应
项目界面完美适配移动端访问。

该系统默认内置超过1500个高清图标(分辨率为1024x1024,并经过无损压缩),足以满足大多数基础需求。用户也可以根据项目需要,轻松上传和管理自定义图标。
典型应用场景
- 为FlatNas导航页配置图标

- 作为飞牛NAS桌面管理工具的图标源

将图标库添加到桌面快捷方式,方便随时取用。

项目简介
HD-Icons 是一个开源的图标库项目,其主要特点包括:
- 高清分辨率:所有图标均为1024x1024分辨率。
- 优化处理:图标经过无损压缩,主体适当放大,在各类面板(如Unraid)中显示更清晰。
- 分类明确:提供
border-radius(圆角矩形)和circle(圆形)两种风格的图标文件夹。
- 初衷:项目最初为Unraid的Docker容器设计,但其云原生的部署方式使其适用于任何需要图标管理的场景。
部署教程
本教程将详细介绍使用Docker Compose进行部署的步骤,此方法简单快捷,适用于大多数Linux环境。

准备工作
- 服务器环境:一台拥有公网IP的VPS或本地NAS设备(如飞牛NAS)。容器资源占用较低,内存约150MB。

- 项目地址:本教程基于官方GitHub仓库:xushier/HD-Icons。
- 域名(可选):如需公网访问,建议绑定域名。
方案一:在VPS上部署
步骤一:安装Docker环境
确保您的服务器已安装Docker和Docker Compose。推荐使用以下一键脚本快速安装:
安装Docker:
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)
安装Docker Compose:
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
步骤二:编写并启动容器
使用root用户登录服务器,执行以下命令:
- 创建项目目录并进入:
mkdir hd-icons && cd hd-icons
- 创建图标存储目录,并拉取官方默认图标库(需网络可访问GitHub):
mkdir icons && cd icons
git clone https://github.com/xushier/HD-Icons
cd ..
- 创建
docker-compose.yml 配置文件:
vim docker-compose.yml
将以下内容复制到文件中:
services:
hd-icons:
image: xushier/hd-icons:latest # 使用官方镜像
container_name: HD-Icons # 容器名称
ports:
- 50560:50560 # 将容器50560端口映射到主机
volumes:
- ./icons:/app/icons # 挂载本地图标目录到容器
environment:
- TITLE=我的图标库 # 自定义Web界面标题
restart: always # 总是重启
- 启动容器:
docker-compose up -d
- 验证容器是否正常运行:
docker-compose ps
正常输出应类似:
NAME IMAGE COMMAND SERVICE ... PORTS
HD-Icons xushier/hd-icons:latest "gunicorn --bind 0.0…" hd-icons ... 0.0.0.0:50560->50560/tcp
步骤三:访问Web界面
确保服务器的防火墙或安全组已放行50560端口。在浏览器中访问:
http://你的服务器IP:50560
即可看到图标库的主界面。

方案二:在飞牛NAS上部署
飞牛NAS提供了友好的Docker图形化管理界面。部署过程更为简化:
- 进入飞牛NAS的Docker管理页面。
- 选择“Compose”或“自定义安装”方式。
- 参考上述VPS部署中的
docker-compose.yml 配置内容,填写镜像、端口映射、卷路径和环境变量。

- 创建并启动容器。

- 在NAS局域网内,使用
http://NAS内网IP:50560 即可访问。
进阶配置:绑定域名
对于部署在VPS上并希望公网访问的服务,绑定域名能提供更好的体验。推荐使用 Nginx Proxy Manager (NPM) 这类反向代理工具来轻松管理域名和SSL证书。通过配置NPM,你可以将 icon.yourdomain.com 这样的域名指向 http://localhost:50560,并自动申请和续签HTTPS证书,这对于构建现代化的前端项目资源引用也至关重要。
注意事项与已知问题
- 权限管理:当前版本缺乏用户权限控制系统,任何能访问Web界面的人都可以删除自定义上传的图标。此问题有待作者后续更新修复。

- 数据备份:请定期备份挂载的
./icons 目录,以防数据丢失。
- 网络要求:初始克隆官方图标库需要能够访问GitHub网络环境。
通过以上步骤,你便可以成功搭建一个私有的、功能全面的图标资源管理中心,极大提升开发和管理效率。
|