Planka (플랜카) 설치 : 칸반 보드 타입의 프로젝트 관리 오픈 소스(like trello)

#1. Planka란 무엇인가?

Planka는 오픈 소스 기반의 프로젝트 관리 도구로, Trello와 유사한 Kanban 스타일을 제공합니다.

간단하고 직관적인 UI로 개인 사용자부터 팀 단위 협업까지 모두 활용할 수 있습니다.

특히, 무료이며 self-hosted로 사용할 수 있어 사내망에 설치하거나, 데이터 보안이 중요한 사용자들에게 적합합니다

 

주요 기능 : 

  • 프로젝트 관리 : 프로젝트, 보드, 리스트, 카드, 라벨, 작업을 생성하여 체계적으로 업무를 관리할 수 있습니다
  • 카드 기능 : 카드에 구성원을 추가하고, 시간 추적, 마감일 설정, 첨부파일 업로드, 댓글 작성이 가능합니다. 카드 설명과 댓글에는 마크다운을 지원하여 가독성을 높입니다.
  • 시각적 관리 : Kanban 보드를 통해 작업 흐름을 시각화하며, 실시간 업데이트와 내부 알림 기능으로 협업 효율성을 높입니다.
  • 필터링 및 사용자화 : 멤버와 라벨별로 필터링이 가능하며, 프로젝트 배경을 사용자 지정할 수 있습니다.
  • 다중 언어 지원 : 한국어를 포함한 다양한 언어를 지원해 글로벌 사용자도 쉽게 접근할 수 있습니다.
  • 보안 및 인증 : OpenID Connect를 통한 단일 로그인(SSO)을 지원하여 보안성과 편의성을 제공합니다.

 

#2. Planka의 구조와 사용법

Planka는 프로젝트 관리를 위한 Kanban 스타일의 도구로, 작업을 체계적으로 관리할 수 있는 간단한 계층 구조를 제공합니다. 이 구조는 다음과 같이 구성됩니다.

 

Planka의 기본 구조

  • 프로젝트: Planka에서 작업의 가장 큰 단위로, 특정 목표나 주제를 기반으로 생성
    • 예: "웹사이트 개발 프로젝트", "음악 제작 프로젝트
  • 보드(Board): 각 프로젝트 내에서 작업 흐름을 시각적으로 표현하는 공간
    • 예: "디자인 보드", "개발 보드"
  • 목록(List): 작업 상태나 범주를 나타내는 열 형태의 구성 요소
    • 예: "할 일(To Do)", "진행 중(In Progress)", "완료됨(Done)"
  • 카드(Card): 개별 작업 단위로, 세부 정보를 포함하며 팀원 간 협업이 이루어지는 중심 요소
    • 예: "홈페이지 메인 디자인", "백엔드 API 개발"

 

#3. Planka 설치 방법

Windows 환경에서 설치하는 것을 기준으로 설명하도록 하겠습니다.

1. 설치 전 준비 사항

 

2. Windows 수동 설치 방법

1. 아래 URL로 접속하여 설치파일을 다운로드 받습니다.

https://github.com/plankanban/planka/releases/latest/download/planka-prebuild.zip

 

2. 다운로드 받은 파일을 적당한 경로에 압축 해제 합니다.

3. dependencies를 설치하고 빌드합니다.

4. 설정 파일(.env)을 작성합니다.

  • .env.sample 파일을 복사해서 .env파일을 신규로 생성합니다.
cp .env.sample .env
  • env 파일을 열기 전에 secret key를 하나 생성합니다.
-join ((33..126) | Get-Random -Count 32 | % {[char]$_})

  • .env 파일을 에디터로 오픈한 후 DB URL, SECREAT_KEY 부분을 채워줍니다.
  • DEFAULT_ADMIN 부분 주석도 해제한 후 관리자 계정을 작성해 줍니다.
## Required

BASE_URL=http://localhost:1337
DATABASE_URL=postgresql://postgres@localhost/planka
SECRET_KEY=notsecretkey

## Optional

# LOG_FILE=

# 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
...
...
..

## Do not edit this

TZ=UTC

 

  • 수정 후
## Required

BASE_URL=http://localhost:1337
DATABASE_URL=postgresql://planka:init123!!@localhost/planka
SECRET_KEY=>1RUF\vw(e]-)A,#H}z.s8QoS9{EML/`
...
...
...
DEFAULT_ADMIN_EMAIL=garve32@gmail.com # Do not remove if you want to prevent this user from being edited/deleted
DEFAULT_ADMIN_PASSWORD=init123!!
DEFAULT_ADMIN_NAME=garve32
DEFAULT_ADMIN_USERNAME=garve32
  • 필요한 user 와 database는 아래와 같이 미리 생성해 두어야 합니다.(planka)

 

5. DB 초기화 작업 후 서비스를 활성화하여 시작합니다.

npm run db:init
npm start --prod

6. localhost:1337 url 에 접속하여 실행을 확인합니다.

 

이제 팀 내에서 활용할 수 있는 Kanban 보드가 생성되었습니다.