
如何在 SurfSense Docker 部署中启用 NVIDIA GPU 加速【免费下载链接】SurfSenseOpen-source NotebookLM alternative. Research the open web with live data(Reddit, YT, IG, TikTok, Indeed, Google Search, Maps etc) through one platform, API or MCP server. Join our Discord: https://discord.gg/ejRNvftDp9项目地址: https://gitcode.com/GitHub_Trending/su/SurfSenseSurfSense 官方推荐使用 Docker 部署数据库、后端、前端、后台 worker、实时同步和反向代理均已预配置。如果你的主机装有 NVIDIA GPU可以让后端切换到 CUDA 镜像并让backend、celery_worker、celery_beat三个服务直接挂载 GPU。本文只讲一件事在 Docker 部署中正确启用 GPU 加速并确认服务健康地跑在 CUDA 变体上。前置条件Docker Desktop或 Docker Engine Compose已安装并在运行主机装有 NVIDIA GPU且nvidia-smi可用主机已安装 NVIDIA Container Toolkit。Docker 安装文档明确要求使用 CUDA 后端镜像的主机必须有 NVIDIA Container Toolkit已有部署时.env位于./surfsense/.env安装脚本生成或docker/.env手动克隆仓库时。方式一让安装脚本自动启用 GPUSurfSense 提供的一行安装脚本对应仓库中的 docker/scripts/install.shLinux/macOS 用 bash 版Windows PowerShell 用 install.ps1会主动处理 GPU脚本通过nvidia-smi检测 NVIDIA GPU检测 NVIDIA Container Toolkit 是否可用检查docker info输出、nvidia-ctk或nvidia-container-runtime检测到 GPU 时交互询问Use GPU acceleration? [Y/n]回答 Y 后自动选择兼容的后端镜像变体。脚本会根据驱动版本推荐变体驱动主版本低于 570 时推荐cuda126脚本注释说明 CUDA 12.8 一般需要 R570 驱动否则推荐cuda。也可以跳过交互、显式指定bash install.sh --variantcuda --gpu-count1 --no-watchtower参数说明均来自脚本头部注释--variantcpu|cuda|cuda126直接选择后端镜像变体--gpu等价于--variantcuda--gpu-countN|all启用 GPU 时预留的 GPU 数量接受数字或all--no-watchtower跳过自动每日更新Watchtower 后台更新可能下载数 GB不需要就加上此参数。注意如果.env已经存在脚本不会改动已有配置它会提示To change variants later, edit SURFSENSE_VARIANT and COMPOSE_FILE。已按 CPU 变体装好的环境请改用下面的方式二手动切换。方式二手动在 .env 中启用在 SurfSense 的.env文件中加入以下内容Docker 安装文档给出的配置SURFSENSE_VARIANTcuda COMPOSE_FILEdocker-compose.yml:docker-compose.gpu.yml SURFSENSE_GPU_COUNT1然后执行docker compose pull docker compose up -d --wait三个配置项各做什么SURFSENSE_VARIANT给后端镜像名追加-cuda后缀。docker/docker-compose.yml 中后端镜像为ghcr.io/modsetter/surfsense-backend:${SURFSENSE_VERSION:-latest}${SURFSENSE_VARIANT:-${SURFSENSE_VARIANT}}设为cuda后实际拉取的就是...-cuda镜像COMPOSE_FILE叠加加载 docker/docker-compose.gpu.yml。该 overlay 给backend、celery_worker、celery_beat三个服务追加 GPU 设备预留driver: ${SURFSENSE_GPU_DRIVER:-nvidia}、count: ${SURFSENSE_GPU_COUNT:-1}、capabilities: [gpu]SURFSENSE_GPU_COUNT预留的 GPU 数量docker-compose.gpu.yml中默认为 1。两个适用条件较老的 NVIDIA 驱动栈使用SURFSENSE_VARIANTcuda126代替cudaWindows 上COMPOSE_FILE的分隔符用;而不是:即COMPOSE_FILEdocker-compose.yml;docker-compose.gpu.yml。如果走的是手动 Docker Compose 路径克隆仓库后在docker/目录cp .env.example .env确保.env中至少设置了SECRET_KEY用openssl rand -base64 32生成再按上面的命令启动。验证结果按文档给出的方式检查# 观察各服务状态从 (health: starting) 变为 (healthy) docker compose ps # 查看某个服务的日志 docker compose logs -f backenddocker compose ps中各服务包括backend健康状态最终变为(healthy)说明含 GPU 预留的栈已正常启动在docker compose ps输出中确认backend使用的镜像名带-cuda或-cuda126后缀这能直接证明SURFSENSE_VARIANT生效启动完成后通过 Caddy 反向代理访问http://localhost:3929后端 API 为http://localhost:3929/api/v1确认服务可用。限制与已知问题检测到 GPU 但没有 NVIDIA Container Toolkit脚本会打印NVIDIA GPU detected, but NVIDIA Container Toolkit was not detected并回退到 CPU 变体同时提示先安装 Toolkit 再启用 GPU 加速。手动方式下若不装 ToolkitGPU 设备预留会在启动时失败所以 Toolkit 是硬前提切换变体文档明确说明后续切换方式就是编辑.env中的SURFSENSE_VARIANT和COMPOSE_FILE然后docker compose up -d --wait更新时不会丢配置Updating 文档说明.env中设置的 GPU overlay 与镜像变体在docker compose pull docker compose up -d更新时会被保留端口冲突如果 3929 端口被占用改.env中的LISTEN_HTTP_PORT后重启。下一步GPU 变体生效后后续升级只需按 Updating 执行docker compose pull docker compose up -d启动时数据库迁移会自动运行.env里的 GPU 配置保持不变。【免费下载链接】SurfSenseOpen-source NotebookLM alternative. Research the open web with live data(Reddit, YT, IG, TikTok, Indeed, Google Search, Maps etc) through one platform, API or MCP server. Join our Discord: https://discord.gg/ejRNvftDp9项目地址: https://gitcode.com/GitHub_Trending/su/SurfSense创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考