news 2026/9/6 21:09:49

Super Productivity Docker部署完整指南:1 条命令跑起来,WebDAV 同步任务数据

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Super Productivity Docker部署完整指南:1 条命令跑起来,WebDAV 同步任务数据

Super Productivity Docker部署完整指南:1 条命令跑起来,WebDAV 同步任务数据

【免费下载链接】super-productivitySuper Productivity is an advanced todo list app with integrated Timeboxing and time tracking capabilities. It also comes with integrations for Jira, GitLab, GitHub and Open Project.项目地址: https://gitcode.com/GitHub_Trending/su/super-productivity

Super Productivity 是一款自带时间盒与时间跟踪的待办应用。用 Docker 部署它的 Web 版,再把任务数据接到 WebDAV 上,笔记本、台式机、手机就能共享同一份任务。本文完成两件事:把容器跑起来,把数据同步打通。

如果你要在多台设备间共享任务

本地版把数据存在浏览器里,换台设备就什么都没了。Docker 部署的 Web 版解决访问问题,WebDAV(一种通用的文件同步协议,这里当作同步后端用)解决数据问题:容器只负责把应用发出去,任务数据走 WebDAV 在服务端落盘,任何设备连上同一个地址就能拉回最新状态。

最小可行部署:单容器跑通 Web 版

官方镜像已发布在容器仓库中,一条命令即可运行。前置条件只需装好 Docker:

# 以 8080 端口发布容器内的 80 端口 docker run -d -p 8080:80 super-productivity/super-productivity:latest

浏览器打开http://localhost:8080,能看到任务创建界面即部署成功。数据存在浏览器本地,容器不提供持久化——想跨设备同步,继续往下走。

多架构镜像构建与拉取

项目提供了三个 Dockerfile,按需取用:

  • Dockerfile:生产构建。node:22 编译前端,最终产物放进nginx:1镜像,运行时只依赖 Nginx
  • Dockerfile.e2e.dev / Dockerfile.e2e.dev.fast:端到端测试环境,配合 docker-compose.e2e.yaml 使用,日常部署用不到

拉取时指定架构,镜像默认与宿主机平台一致,跨架构加--platform

# Apple Silicon 上直接拉;x86 服务器拉 arm64 就换成 linux/arm64 docker pull --platform linux/arm64 super-productivity/super-productivity:latest

--platform参数只在镜像仓库同时发布了对应架构时才有效。要自己发布双架构镜像,用 Buildx:

docker buildx build --platform linux/amd64,linux/arm64 \ -t 你的用户名/super-productivity:latest \ --push .

构建完成后,--push会把两种架构打包成同一个 tag,客户端按docker run -d -p 8080:80 你的用户名/super-productivity:latest拉取即可。

同步配置拆解:哪些文件真正要改

把 WebDAV 同步接入进来,先克隆仓库取几个文件(仓库是只读的,只复制、不修改):

git clone https://gitcode.com/GitHub_Trending/su/super-productivity mkdir sp && cd sp cp ../super-productivity/docker-compose.yaml ./ cp ../super-productivity/webdav.yaml ./

需要关注的只有下面几处:

位置作用推荐值
webdav.yamlusersWebDAV 登录账号、密码及各自的数据目录改掉默认的admin/admin;多用户时每人一条记录,directory指向/data下独立子目录
docker-compose.yaml 的app服务环境变量预填应用设置页里的同步配置,首次打开就不用手动输见下方.env示例
nginx/default.conf.template/webdav/开头的请求转发给同步后端保持默认即可

app服务通过环境变量预填设置,在部署目录里建一个.env,变量名与 compose 文件一致:

WEBDAV_BASE_URL=http://localhost:8080/webdav/ WEBDAV_USERNAME=admin WEBDAV_SYNC_FOLDER_PATH=/ SYNC_INTERVAL=15 IS_COMPRESSION_ENABLED=true IS_ENCRYPTION_ENABLED=false

启动整组服务:

docker compose up -d

docker compose ps里各服务状态正常、浏览器访问http://localhost:8080能打开应用即部署成功。打开应用的设置页,同步方式已自动填为 WebDAV,填上刚才的密码即可开始同步。

启动入口 docker-entrypoint.sh 会把上面的环境变量写进容器的同步默认值文件;Nginx 模板则把/webdav/的请求剥掉前缀后转发给后端,转发目标由环境变量WEBDAV_BACKEND决定。

反向代理接入与数据持久化

多开一个端口没必要。app 容器内置了 Nginx 代理模板,只要把WEBDAV_BACKEND指到 webdav 服务,/webdav/就能从 8080 一个端口出去:

# deploy.yaml 放在部署目录,与 webdav.yaml 同级
services: app: image: johannesjo/super-productivity:latest ports: - "8080:80" environment: WEBDAV_BACKEND: http://webdav:2345 # Nginx 转发目标 WEBDAV_BASE_URL: http://localhost:8080/webdav/ SYNC_INTERVAL: 15 volumes: - ./data:/data # 宿主机目录落盘,重启不丢 deploy: resources: limits: cpus: "1" memory: 512M # 静态站点,够用

两个注意点:

  • 数据持久化优先用宿主机目录挂载(如上./data),指向一块你记得定期备份的磁盘;compose 文件里的webdav_data命名卷同样有效,但清理容器时要单独记得docker volume命令
  • 改完webdav.yaml里的密码后执行docker compose up -d让 webdav 服务重新加载配置

排错速查

  • 打开 8080 无响应docker compose ps看 app 是否 running,再docker compose logs app确认端口映射是否为8080:80
  • 同步一直失败curl -I http://localhost:8080/webdav/验证代理是否通,再核对webdav.yaml.env里的账号密码是否一致
  • 重建容器后数据没了→ 确认目录挂载是否生效,或直接从应用设置页导出一份完整备份 JSON 留存

部署形态就是两个容器:一个发应用,一个存同步文件。新设备连上同一个 WebDAV 地址,数据自然跟过来。

更多同步方式与数据管理细节见官方文档 docs/wiki/2.13-Run-with-Docker.md 和 docs/wiki/4.23-Managing-Your-Data.md。

【免费下载链接】super-productivitySuper Productivity is an advanced todo list app with integrated Timeboxing and time tracking capabilities. It also comes with integrations for Jira, GitLab, GitHub and Open Project.项目地址: https://gitcode.com/GitHub_Trending/su/super-productivity

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/6 21:06:10

Python Django学生宿舍管理系统毕设全攻略:从数据库设计到论文答辩

简介:Python Django学生宿舍管理系统毕业论文,面向计算机专业毕业设计场景,提供从选题到答辩的完整文档参考。论文围绕宿舍管理系统的实际开发流程,给出学生宿舍信息管理、用户管理、宿舍分配等功能模块的设计,并逐步展…

作者头像 李华
网站建设 2026/9/6 21:02:15

ISO/TR 16015:温度对长度测量的影响及不确定度评估实战

简介:此为ISO/TR 16015:2003完整英文版技术报告,共44页,聚焦几何产品规范(GPS)框架下热影响导致的长度测量系统误差与测量不确定度。面向机械制造、计量检测及质量控制领域的工程师与研究人员,它系统分析和…

作者头像 李华
网站建设 2026/9/6 21:02:13

ANSYS DesignModeler从入门到上手:打开方式、核心操作与常见坑

简介:《DesignModeler用户指南》是ANSYS官方发布的19.0版操作手册,面向使用ANSYS Workbench进行三维几何建模与仿真前处理的CAE工程师、科研人员和相关专业学生,重点讲解几何导入、实体建模、复杂形状处理、网格划分及仿真几何准备等环节。作…

作者头像 李华
网站建设 2026/9/6 20:53:30

BIQS 2.0进阶:防错验证、快速响应与分层审核的落地要点

简介:在制造业质量管理中,过程控制的有效性往往决定客户审核的结果。许多工厂虽然建立了防错点检和快速响应机制,却因验证失效、闭环不足而被开出Major不符合项。质量内建的核心并非增加表格,而是确保每个动作能真正拦截缺陷、驱动…

作者头像 李华
网站建设 2026/9/6 20:52:57

智能制药解决方案PPT制作全攻略:内容设计、版式规范与文件修复

简介:智能制药解决方案演示文稿是一份面向制药企业管理者、生产信息化从业者及智能制造咨询顾问的专业培训与方案设计材料。内容以制药管理难点为起点,分别阐述物料追踪、书面文档滞后、储存条件监管、手动操作偏差等痛点,再系统展示智慧制药…

作者头像 李华