尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Docker 部署 Super Productivity 完整指南:3 条命令跑通任务管理与时间跟踪的容器化

Docker 部署 Super Productivity 完整指南:3 条命令跑通任务管理与时间跟踪的容器化 Docker 部署 Super Productivity 完整指南3 条命令跑通任务管理与时间跟踪的容器化【免费下载链接】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 是一款集成了 Timeboxing 时间盒与时间跟踪的待办应用还内置了 Jira、GitLab、GitHub 等集成。用它做团队共享的任务面板时最常见的痛点是每个同事本地装一遍环境、同步服务配不明白、换台机器数据就没了。用 Docker 部署 Super Productivity 后这些问题基本都能收敛成一条docker compose up -d命令。 部署路径选型先确认你要跑哪种组合仓库根目录的docker-compose.yaml里其实预置了四组服务app应用本体、webdav同步服务器、dbPostgreSQL 15、supersyncSuperSync 同步后端定义在 packages/super-sync-server/ 中。按你的场景对号入座个人自用、单设备访问只起appwebdav两个服务最轻量多设备数据同步把dbsupersync一起拉起来走 SuperSync 通道E2E 测试环境用docker-compose.e2e.yaml生产构建跑测试或docker-compose.e2e.fast.yaml本地依赖 卷挂载迭代最快多架构分发需要 amd64/arm64 镜像时走 Buildx 流程见下文先判断场景再敲命令能少走一半弯路。⚡ 最快上手三步在 8080 端口看到应用下面是个人自用场景的最小路径克隆仓库后直接起容器不需要你手动装任何运行依赖git clone https://gitcode.com/GitHub_Trending/su/super-productivity cd super-productivity docker compose up -d app webdav它做的事拉取现成的app镜像并映射8080:80同时启动 WebDAV 同步服务。启动完成后浏览器访问http://localhost:8080即可进入应用。️ 多架构镜像构建Buildx 一条命令出双架构镜像如果你要在自己的服务器比如 ARM 的 Mac 或树莓派上二次分发就需要构建多架构镜像。Buildx 是 Docker 官方的构建扩展支持一次构建产出多个 CPU 架构的镜像docker buildx create --use docker buildx build --platform linux/amd64,linux/arm64 -t super-productivity:local .第二条命令会同时产出 amd64 和 arm64 两个镜像并推入本地镜像库。仓库里的三个 Dockerfile 各有分工别拿错了Dockerfile生产镜像。两阶段构建——先用node:22编译 Angular 前端构建阶段用--platform$BUILDPLATFORM所以交叉构建不会卡在依赖安装上再用nginx:1托管静态产物这是唯一适合上生产的Dockerfile.e2e.dev跑ng serve开发服务器的测试镜像端口 4242完整复制源码并在容器内装依赖Dockerfile.e2e.dev.fast同是开发服务器但跳过依赖安装靠docker-compose.e2e.fast.yaml把本地目录挂载进容器改代码秒级生效本地调 E2E 时用它关键配置详解持久化、环境变量与反向代理这三件事别忘数据持久化两个命名卷已经帮你定义好了docker-compose.yaml末尾声明了db_data和webdav_data两个命名卷SuperSync 的数据库落在db_dataWebDAV 同步的文件落在webdav_data。你什么都不用改容器重建数据也不会丢。想换到指定磁盘目录时在 volumes 里把对应卷改写成绑定挂载即可例如volumes: webdav_data: driver: local需要持久化自己的数据目录时再仿照这个结构加一个卷挂载到对应路径。环境变量两份配置文件的分工别搞混src/environments/下有environment.tsproduction: false和environment.prod.tsproduction: true它们是编译期配置Docker 生产构建会自动取 prod 那份一般不用动。真正在运行时生效的是容器环境变量入口脚本docker-entrypoint.sh会在启动时用jq把WEBDAV_BASE_URL、WEBDAV_USERNAME、WEBDAV_SYNC_FOLDER_PATH、SYNC_INTERVAL分钟、IS_COMPRESSION_ENABLED、IS_ENCRYPTION_ENABLED等变量写成assets/sync-config-default-override.json让应用开箱即预填好 WebDAV 同步配置。在 compose 的app服务里追加或覆盖这些变量就行。Nginx 反向代理内置模板已支持 WebDAV 转发生产镜像基于 nginx配置模板在nginx/default.conf.template。它做两件事根路径/托管前端静态文件带 SPA 回退到index.html/webdav/前缀的请求转发到$WEBDAV_BACKEND指定的后端并自动剥掉前缀。监听端口由APP_PORT控制默认 80。如果你还要把整个应用挂在自家网关后面只需按这个模板加一层代理上游指向http://容器IP:8080路径保持透传即可。️ 排障与调优先看日志再查健康检查最后限资源容器起不来直接跟日志90% 的问题一眼可见docker compose logs -f app同步服务连不上db和supersync都配了 healthcheck后者每 5 秒探测/health接口一条命令看全服务状态和健康标记docker compose ps重点看supersync是否处于healthy。它依赖db通过健康检查后才启动db卡在starting时先看docker compose logs -f db。资源受限的环境比如 2 核小主机上跑给app服务加资源上限防止同步高峰把宿主机吃满services: app: deploy: resources: limits: cpus: 0.5 memory: 512M这段配置限制容器最多用半核 CPU 和 512MB 内存supersync和db同理可加。从选型、构建到排障这条 Docker 部署 Super Productivity 的路径覆盖了绝大多数场景个人用户三步起容器多设备走 SuperSync分发走 Buildx。环境细节与更多变量说明建议再翻一遍 docs/ENV_SETUP.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),仅供参考
返回列表