简介

Planka 是一款使用 ReactRedux 构建的,适用于工作组的类 Trello 开源看板管理软件。

React是Facebook开发的一款JavaScript库

Redux是一个JavaScript状态容器


KanBan(カンバン)管理

日本丰田汽车公司在生产模式中的重要概念,指为了达到及时生产(JIT)方式控制现场生产流程的工具。

准时生产方式(Just-In-Time, JIT)是一种生产管理理念,它起源于日本的丰田汽车公司。这种理念的核心思想是在生产过程中尽可能减少浪费,提高效率,使得生产和需求能够紧密配合,从而达到“恰好在需要的时候,提供需要的数量”的目标。

同类型竞品

1.JIRA

大名鼎鼎的项目与事务跟踪工具

主要应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。

可视化极强的看板是其中的一个重要卖点

舍弃原因:官方收费、且贵、虽然Docker上有旧版本也可进行破解(信息安全风险)

2.Trello

2017年1月10日,JIRA的软件开发商Atlassian宣布将以4.25亿美元的估值收购协作服务Trello。

特点:移动端APP支持、界面更现代

舍弃原因:被收购后开始收费、且没有LINUX服务端


PLANKA_项目中主要功用

  1. 任务分发

  2. 进度追踪

  3. 客户侧联络记录/分享

  4. 版本/文件/文档备份管理

官方Demo


PLANKA—SERVER搭建

以Docker-Compose搭建方式举例

编排以下文件:

docker-compose.yml

注:内容需按实际生产环境变更

#compose.yaml
version: '3'

services:
  planka:
    image: ghcr.io/plankanban/planka:latest
    restart: on-failure
    volumes:
      - user-avatars:/volume1/docker/planka/user-avatars
      - project-background-images:/volume1/docker/planka/project-background-images
      - attachments:/volume1/docker/planka/attachments
    ports:
      - 3000:1337
    environment:
      - BASE_URL=http://10.1.6.67:3000
      - DATABASE_URL=postgresql://postgres@postgres/planka
      - SECRET_KEY=notsecretkey
      - DEFAULT_ADMIN_EMAIL=demo@demo.demo
      - DEFAULT_ADMIN_PASSWORD=demo
      - DEFAULT_ADMIN_NAME=Demo Demo
      - DEFAULT_ADMIN_USERNAME=demo

      # - TRUST_PROXY=0
      # - TOKEN_EXPIRES_IN=365 # In days

      # related: https://github.com/knex/knex/issues/2354
      # As knex does not pass query parameters from the connection string we
      # have to use environment variables in order to pass the desired values, e.g.
      # - PGSSLMODE=<value>

      # Configure knex to accept SSL certificates
      # - KNEX_REJECT_UNAUTHORIZED_SSL_CERTIFICATE=false

      # - DEFAULT_ADMIN_EMAIL=demo@demo.demo # Do not remove if you want to prevent this user from being edited/deleted
      # - DEFAULT_ADMIN_PASSWORD=demo
      # - DEFAULT_ADMIN_NAME=Demo Demo
      # - DEFAULT_ADMIN_USERNAME=demo

      # - ALLOW_ALL_TO_CREATE_PROJECTS=true

      # - OIDC_ISSUER=
      # - OIDC_CLIENT_ID=
      # - OIDC_CLIENT_SECRET=
      # - OIDC_SCOPES=openid email profile
      # - OIDC_ADMIN_ROLES=admin
      # - OIDC_EMAIL_ATTRIBUTE=email
      # - OIDC_NAME_ATTRIBUTE=name
      # - OIDC_USERNAME_ATTRIBUTE=preferred_username
      # - OIDC_ROLES_ATTRIBUTE=groups
      # - OIDC_IGNORE_USERNAME=true
      # - OIDC_IGNORE_ROLES=true
      # - OIDC_ENFORCED=true

      # Email Notifications (https://nodemailer.com/smtp/)
      # - SMTP_HOST=
      # - SMTP_PORT=587
      # - SMTP_NAME=
      # - SMTP_SECURE=true
      # - SMTP_USER=
      # - SMTP_PASSWORD=
      # - SMTP_FROM="Demo Demo" <demo@demo.demo>

      # Optional fields: accessToken, events, excludedEvents
      # - |
      #   WEBHOOKS=[{
      #     "url": "http://localhost:3001",
      #     "accessToken": "notaccesstoken",
      #     "events": ["cardCreate", "cardUpdate", "cardDelete"],
      #     "excludedEvents": ["notificationCreate", "notificationUpdate"]
      #   }]

      # - SLACK_BOT_TOKEN=
      # - SLACK_CHANNEL_ID=
    depends_on:
      postgres:
        condition: service_healthy

  postgres:
    image: postgres:14-alpine
    restart: on-failure
    volumes:
      - db-data:/volume1/docker/planka/data
    environment:
      - POSTGRES_DB=planka
      - POSTGRES_HOST_AUTH_METHOD=trust
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres -d planka"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  user-avatars:
  project-background-images:
  attachments:
  db-data:

#使用以下命令一键爬取容器并自动搭建环境
docker-compose up -d


使用IP:端口即可访问

缺省的用户名:demo@demo.demo,密码为:demo