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-productivitySuper 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镜像运行时只依赖 NginxDockerfile.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参数只在镜像仓库同时发布了对应架构时才有效。要自己发布双架构镜像用 Buildxdocker 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.yamlusers段WebDAV 登录账号、密码及各自的数据目录改掉默认的admin/admin多用户时每人一条记录directory指向/data下独立子目录docker-compose.yaml 的app服务环境变量预填应用设置页里的同步配置首次打开就不用手动输见下方.env示例nginx/default.conf.template把/webdav/开头的请求转发给同步后端保持默认即可app服务通过环境变量预填设置在部署目录里建一个.env变量名与 compose 文件一致WEBDAV_BASE_URLhttp://localhost:8080/webdav/ WEBDAV_USERNAMEadmin WEBDAV_SYNC_FOLDER_PATH/ SYNC_INTERVAL15 IS_COMPRESSION_ENABLEDtrue IS_ENCRYPTION_ENABLEDfalse启动整组服务docker compose up -ddocker 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),仅供参考