最近我把小红书图片生成工具 Redink 搬到了绿联 NAS 上用 Docker 跑了起来。折腾了一下午加一个晚上中间踩了几个坑最后稳定运行了。Redink 是一个面向小红书内容创作场景的开源图片生成工具核心玩法是把你输入的主题、文案或者参考图批量生成符合小红书平台调性的笔记配图常见的场景包括封面图、多图轮播、文字海报这些。它不是单纯的“套模板”工具而是把文案组织和图片渲染放在一起你在网页里写好内容、选好样式它直接出图。对于天天要发笔记的运营、博主或者帮品牌管账号的人来说这东西能省掉大量来回切设计软件的时间。我为什么选绿联 NAS 来跑而不是直接用云服务器或者本地电脑原因很简单NAS 本来就是常年开机的功耗比台式机低得多而且我的素材、成品图、备份全在 NAS 上Redink 生成完图片直接落盘到本地目录管理起来特别顺。另外绿联的 Docker 功能做得已经比较完整UGOS Pro 系统里自带容器管理界面SSH 权限也开放能够比较舒服地部署自定义服务。这篇就把我在绿联 NAS 上部署 Redink 的全过程记录下来包括环境准备、compose 配置、模型 API 接入、模板配置以及我实际遇到的一堆问题和排查思路给想在自己 NAS 上跑类似工具的读者一个可以直接参考的路径。1. 部署前的思路整理先搞清楚 Redink 需要什么才能转起来1.1 Redink 的核心能力与运行机制Redink 本质上是一个“文案 出图”的本地化内容生产工具它的运行逻辑是通过 Web 界面收集作者输入的素材标题、正文、话题标签、参考图然后调用大模型接口对文案做润色、扩写、生成标题建议再把这些内容渲染进设计好的图片模板里。最终输出小红书常用的 3:4 竖版图片、1:1 方图、或者 9:16 封面图。也就是说它本身的定位不是“从零做一张照片”而是“把文字内容快速变成能发出去的笔记配图”。这带来一个关键点Redink 是强依赖外部大模型服务的。它本身不带智能你需要给它配置一个可调用的模型 API比如 DeepSeek、通义、Ollama 本地模型等。部署 Redink 时这个依赖关系一定要先想清楚否则工具能打开页面但生成不了内容非常容易误以为是安装出了问题。1.2 为什么选绿联 NAS 而不是云服务器或主力电脑对比一下几个常见方案就能明白我为什么最终选择绿联 NAS部署载体优点缺点云服务器随时随地访问、性能可按需升级需要额外付费图片素材传输受带宽限制存在数据隐私顾虑主力电脑性能强、调试方便关机就不能用无法做到全时段服务长期跑着占用工作机资源绿联 NAS常年开机、功耗低、图片素材天然在本地、有 Docker 支持性能不如台式机部分型号内存偏小需要合理规划容器资源很多人忽略了 NAS 的一个重要特性它不只是存储设备更是一个低功耗的常驻服务器。Redink 这种工具最合适的运行方式就是“安静地在后台等着你来用”不需要跑大型训练任务只是做文案接口调用和图片模板渲染NAS 的 CPU 完全够用。我的绿联 NAS 是 x86 架构Docker 兼容性很好像 Redink 这种以容器形式分发的项目装起来非常顺。1.3 整体部署架构与数据流向我最终规划的架构是这样的绿联 NAS 上运行 Redink 容器容器通过桥接网络暴露一个本地端口Redink 的 Web 界面负责接收操作指令生成文案时Redink 后端调用配置好的大模型 API生成的图片文件写入 NAS 上挂载的本地目录后续可以直接通过绿联的文件管理或相册功能访问。如果对接的是 Ollama 本地模型则需要额外在 NAS 上跑一个 Ollama 容器并让 Redink 与它在同一个 Docker 网络里通信。如果对接的是云端 API比如 DeepSeek那就不需要额外部署只要配置好 API 地址和密钥就行。两种方式我都实际测过一句话总结想省事用云端 API想数据完全不出内网就用本地 Ollama。2. 部署前的环境准备绿联 NAS 侧要做的几件事2.1 确认系统版本与 Docker 环境绿联 NAS 目前主流系统是 UGOS Pro在 Docker 支持上已经比较成熟。部署前建议先把系统升级到最新版本因为绿联会在固件更新里持续修复容器管理相关的 bug。我一开始没升级结果在创建容器时遇到存储卷映射界面卡顿的问题升级后就好了。查看 Docker 环境是否正常可以在绿联的“应用中心”里找到 Docker 应用并打开确认能看到“容器”“镜像”“存储卷”等菜单。如果你计划用命令行方式部署还需要在控制面板里开启 SSH 功能。绿联 NAS 的 SSH 默认是关闭的需要到“控制面板 → 终端管理 → SSH 服务”里手动打开建议使用密钥登录而不是密码登录安全性更好。2.2 目录规划与端口规划部署容器前先规划好目录这是很多人忽略但极其重要的一步。Redink 通常需要三类数据目录配置目录存放数据库、配置文件、模板目录存放图片模板、输出目录存放生成的图片。如果乱挂载或者干脆用容器内部路径后续想升级容器或者迁移数据时会非常痛苦。我在绿联 NAS 上建立了如下目录结构/vol1/1000/docker/redink/ ├── config # 配置文件与数据库 ├── templates # 小红书图片模板 └── output # 生成的成品图端口方面Redink 默认 Web 端口是 8080我为了避免和 NAS 上其他服务冲突映射成了 18080。如果你打算用绿联自带的反向代理或者未来接入域名建议统一规划好端口不要用默认端口裸奔。2.3 内存与性能预检Redink 本身的内存占用不算高我实测普通使用场景下大约吃掉 200MB 到 400MB 内存但如果你同时跑 Ollama 本地模型那就完全是另一个量级了。以我用的 DXP4800 Pro 为例内存足够但如果你的 NAS 只有 4GB 内存建议不要同时跑本地大模型和 Redink优先用云端 API 方案否则很容易出现内存不足导致容器被杀。3. 核心部署实战用 Docker Compose 把 Redink 拉起来3.1 获取 Redink 项目与镜像Redink 的部署方式比较简单官方推荐 Docker Compose。SSH 登录绿联 NAS 后先创建一个工作目录然后把 compose 文件放进去。mkdir -p /vol1/1000/docker/redink cd /vol1/1000/docker/redink镜像方面由于网络环境不同建议先配置好 Docker Registry Mirror再执行拉取操作。绿联 NAS 的 Docker 界面里有“镜像加速器”配置入口填入国内常见的加速地址即可。这一步很关键我刚开始没有配置加速器直接拉镜像时速度非常慢一度以为网络出了问题。3.2 完整 compose.yml 配置与逐段解析下面是我实际使用的 compose 配置加了详细的注释。不同版本的 Redink 镜像在环境变量上可能略有差异但整体结构是一致的。version: 3.8 services: redink: image: redink/redink:latest container_name: redink restart: unless-stopped ports: - 18080:8080 volumes: - ./config:/app/config - ./templates:/app/templates - ./output:/app/output environment: - REDINK_MODEL_PROVIDERdeepseek - REDINK_MODEL_NAMEdeepseek-chat - REDINK_API_KEYsk-xxxxxxxxxxxxxxxx - REDINK_API_BASEhttps://api.deepseek.com/v1 - TZAsia/Shanghai networks: - redink-net networks: redink-net: driver: bridge逐段说一下关键内容restart: unless-stopped这个策略让容器在 NAS 重启后自动拉起省去手动开启的麻烦。我建议不要用always因为unless-stopped在你手动停止容器时不会强制拉起来日常维护更可控。ports部分18080:8080表示宿主机 18080 端口映射到容器内 8080 端口。如果你 NAS 上 18080 被占用改个宿主机侧端口即可。volumes部分三个目录挂载是 Redink 的“数据命脉”。升级容器时只要这三个目录不丢配置和生成过的图片都在。REDINK_MODEL_*这些环境变量决定了 Redink 调用哪个模型服务。如果你用 Ollama 本地模型REDINK_API_BASE需要改成局域网内 Ollama 的地址比如http://ollama:11434前提是 Ollama 容器在同一个 Docker 网络里同时模型名改成你实际拉取的模型比如qwen2.5:7b。3.3 启动容器与首次验证配置文件准备好后执行docker compose pull docker compose up -d第一次启动时可以观察日志确认服务是否正常拉起docker logs -f redink看到日志输出里出现Uvicorn running on http://0.0.0.0:8080或者类似字样说明服务已经起来了。接着在浏览器里打开http://NAS的IP:18080就能看到 Redink 的 Web 界面。有一个细节需要注意如果你的 NAS 开启了防火墙一定要在防火墙规则里放行 18080 端口否则局域网内其他电脑访问不到。我在绿联的防火墙设置里加了规则后手机通过 Wi-Fi 访问同一端口也没有任何问题。4. 配置小红书图片生成模型接入、模板与目录联动4.1 接入大模型 API决定图片内容质量的关键一步Redink 的图片文字内容质量直接取决于你接入的模型。我测试了三种方案给出实际感受DeepSeek API响应速度快中文文案质量高成本低适合个人和工作室使用。通义千问 API对小红书风格的文案理解也不错部分场景下生成的话题标签更接地气。Ollama 本地模型完全离线运行隐私性最好但速度受限于NAS CPU7B 模型在生成图片配文时能明显感觉到等待时间变长。配置方式很简单在 Web 界面的设置页填入对应的 API 地址和密钥即可。如果你是纯命令行选手也可以直接在 compose 环境变量里改完重新docker compose up -d让配置生效。我个人建议优先使用 DeepSeek 的云端 API因为 Redink 生成一篇图文笔记通常只需要几次模型调用费用几乎可以忽略而本地模型的部署和维护成本反而更高。4.2 小红书图片模板配置尺寸与风格是核心Redink 的图片生成能力建立在模板基础上。你需要先在模板目录里放好设计好的底图或者使用工具内置的基础模板。根据小红书的平台规则我建议准备以下三种比例的模板用途推荐尺寸说明封面图1080 x 1440 (3:4)小红书信息流标准竖版比例占屏比例高内容配图1080 x 1080 (1:1)适合多图轮播中的文字卡长图1080 x 1920 (9:16)适合教程类、清单类笔记实际操作中有一个容易忽略的地方模板里的字体。Redink 渲染中文图片时如果容器里没有中文字体生成的图片会出现乱码或者方框。解决方法是把常见的中文字体文件放进模板目录并在设置里指定字体路径。我用的是一款基础黑体字体测试下来渲染效果最稳定。4.3 输出目录联动生成好的图片自动落入 NAS 素材库前面把./output挂载到了 Redink 容器里这一步的收益在真正使用时才会体现出来。我在 Redink 里生成完一组图片后不需要下载到本地再上传直接用绿联的文件管理 App 打开docker/redink/output目录就能看到所有成品图。更进一步我还在绿联 NAS 的应用中心里把output目录加入到了相册索引范围。这样生成出来的图片会自动出现在相册的时间线里手机端直接就能查看、下载、发布。素材从生成到发布全程不需要经过电脑中转这个体验是真的方便。5. 常见问题与排查技巧实录5.1 容器一直重启日志报数据库错误我部署时遇到的第一个问题是容器启动几秒后反复退出docker logs显示数据库初始化失败。排查后发现是config目录权限不对容器内的用户没有写入权限。解决方式chown -R 1000:1000 /vol1/1000/docker/redink/config在绿联 NAS 上很多 Docker 容器默认以非 root 用户运行挂载目录的属主如果不对就会出现这类问题。如果你不确定容器内用户 ID最简单的方法是把挂载目录权限设置为 777但这样不太安全建议还是按需设置。5.2 生成的图片中文全是方块这个问题的根源是容器缺少中文字体。Redink 容器本身往往只携带基础英文字体直接渲染中文就会变成乱码。解决方法是准备一个至少 10MB 的中文字体文件推荐字体文件放到templates/fonts目录然后在 Redink 设置里把默认字体路径指过去。改完配置后要重新生成一次图片才能生效已经生成的历史图片不会自动修复。5.3 NAS 重启后 Redink 访问不了如果你在 compose 里配置了restart: unless-stopped理论上容器会随 Docker 服务启动而自动恢复。但我在实际使用中发现绿联 NAS 重启后偶尔会出现容器状态正常但端口访问不通的情况原因大多是 Docker 网络和防火墙规则加载顺序的问题。我遇到一次之后在绿联的控制面板里重新停用并启用了一下防火墙规则问题就消失了。另外要确认 Docker 服务本身是否随系统启动了UGOS Pro 里有个“开机自启动”的开关确认 Docker 应用是开启状态。5.4 生成速度慢尤其第一次特别明显第一次生成图片慢通常有两个原因一是模型接口首次连接握手二是 Redink 在初始化渲染缓存。如果持续速度慢就要看是模型 API 慢还是图片渲染慢。图片渲染慢一般是因为模板图片过大建议把底图压缩到 2MB 以内尺寸不要超过 2048 像素渲染速度会有明显改善。如果你用的是 Ollama 本地模型还要注意模型加载后的内存占用。模型首次推理时会把模型权重加载到内存里如果内存不足系统会用交换分区速度会断崖式下降。建议本地模型中文本数不要超过 14B并且给 NAS 留出至少 16GB 空闲内存。5.5 常见问题速查表现象大概率原因解法容器反复重启挂载目录权限不对chown 修正目录属主访问不了 Web 界面防火墙未放行端口控制面板放行对应端口中文乱码容器缺少字体挂载中文字体文件生成图片全黑模板底图路径错误检查模板目录映射生成速度极慢模板过大或本地模型内存不足压缩底图、调整模型重启后失联防火墙规则加载顺序重新开关防火墙规则6. 部署完成后的体验与几个让我觉得“值了”的瞬间跑通之后我自己用了一段时间有几个场景是真切感受到“这个部署值了”。比如我把自己经常写的小红书选题脚本整理成了模板在 Redink 里只需要输入主题和几个关键词几分钟内就能得到一组风格统一的封面图和配图不再需要打开 PS 或者 Canva 手动调版式。而且因为跑在 NAS 上我在公司、在外面用手机连回家里的 NAS 也能操作素材文件不用来回传。另外一个让我觉得 NAS 部署很有优势的点是所有数据都在自己手里。云服务虽然方便但涉及素材、文案、账号内容整理这些放在自己设备上更安心。Redink 的运行日志、生成的图片、模板文件全都在 NAS 的硬盘上定期跟着 NAS 的备份策略一起备份不存在服务商跑路导致数据丢失的问题。如果你后续想扩展还可以考虑把 Redink 接进绿联的反向代理配上自己的域名和 HTTPS 证书这样在外网访问时更安全。还可以把生成的图片自动同步到官方相册再配合定时任务每天晚上自动整理当天生成的素材。我目前已经做到了图片自动进相册这一步日常运营效率提升非常明显。最后分享一个我自己摸索出来的小技巧模板目录里可以放一套统一的品牌色卡图片和 Logo 水印在 Redink 生成时勾选上这样所有成图自动带上品牌元素比每张图手动加 Logo 省太多时间了。如果你也是做小红书账号或者帮品牌做内容建议尽早把模板体系建起来模板一旦沉淀好后面出图就是填空一样的工作。