리눅스에서 Kanboard로 미니멀리스트 칸반 만들기

두 사람이 일련의 포스트잇을 들고 있는 사진.

Kanboard는 사용자가 자신의 서버에 호스팅할 수 있는 경량 칸반 프로젝트 추적기입니다. 다른 칸반 추적기와 달리, Kanboard는 어디서나 접근할 수 있는 간단하고 직관적인 인터페이스를 만드는 것을 목표로 합니다.

이 문서에서는 Ubuntu 22.04에 Kanboard를 설치하는 방법을 보여줍니다. 또한 커뮤니티 플러그인을 사용하여 Kanboard를 확장하는 과정을 강조합니다.

목차

  • Kanboard를 사용하는 이유
  • Kanboard 설치하기
  • SSL을 위한 Kanboard 설정하기
  • 로그인 및 칸반 보드 만들기
  • 플러그인으로 칸반 보드 사용자화하기
  • 자주 묻는 질문

Kanboard를 사용하는 이유

Kanboard의 가장 큰 장점 중 하나는 Docker의 마법을 통해 거의 모든 서버에서 작동할 수 있다는 것입니다. 결과적으로, Kanboard를 호스팅하는 것은 비기술 사용자에게도 고통 없이 쉽습니다.

그 외에도 Kanboard는 유연한 플러그인 플랫폼을 제공합니다. 여기에는 태그 생성, 시간 추적 및 사용자 정의 스크립트 실행 기능이 포함됩니다. 예를 들어, 카드의 내용을 기반으로 각 카드의 속성을 업데이트하는 플러그인을 만들 수 있습니다.

작동 중인 Kanboard 인스턴스의 스크린샷.

팁: 아이젠하워 매트릭스를 이해하여 작업의 우선순위를 정하는 데 효율적이고 효과적으로 되는 방법을 배우세요.

Kanboard 설치하기

  1. Kanboard 설치의 첫 번째 단계는 시스템이 최신 상태인지 확인하는 것입니다. 다음 명령어를 실행하여 확인할 수 있습니다:
sudo apt update  
sudo apt upgrade
  1. Docker 프로젝트의 서드파티 리포지토리 키를 설치합니다:
sudo install -m 0755 -d /etc/apt/keyrings  
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg  
sudo chmod a+r /etc/apt/trusted.gpg.d/docker.gpg
  1. 좋아하는 텍스트 편집기를 사용하여 새로운 apt 리포지토리 파일을 만듭니다:
sudo nano /etc/apt/sources.list.d/docker.list
  1. 공식 Docker 리포지토리에 대한 리포지토리 정보를 작성합니다:
deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
  1. Ctrl + O를 눌러 새로운 리포지토리 파일을 저장한 후 Ctrl + X를 눌러 종료합니다.

  2. 다음 명령어를 실행하여 시스템의 리포지토리 세부정보를 업데이트합니다:

sudo apt update
  1. apt를 사용하여 Docker 엔진과 그 종속성을 설치합니다:
sudo apt install wget docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin

Kanboard 얻기

Docker 엔진이 제대로 설치되면, 다음 단계는 Kanboard를 위한 Docker Compose 스크립트를 가져오는 것입니다. 이는 Docker가 Kanboard를 자동으로 생성하는 방법을 알려주는 옵션 목록이 포함된 작은 텍스트 파일입니다.

  1. 홈 디렉토리에 Kanboard를 위한 별도의 폴더를 만듭니다:
mkdir ~/kanboard  
cd ~/kanboard
  1. 좋아하는 텍스트 편집기를 통해 “docker-compose.yml”이라는 이름의 새로운 텍스트 파일을 만듭니다:
nano ~/kanboard/docker-compose.yml
  1. 다음 코드 블록을 복사하여 “docker-compose.yml” 파일 안에 붙여넣습니다:
version: '2'  
services:  
  kanboard:  
    image: kanboard/kanboard:latest  
    ports:  
      - 8080:80  
    volumes:  
      - kanboard_data:/var/www/app/data  
      - kanboard_plugins:/var/www/app/plugins  
    environment:  
      DATABASE_URL: mysql://kanboard:!#REPLACE-ME@db/kanboard  
      PLUGIN_INSTALLER: true  
  db:  
    image: mariadb:latest  
    command: --default-authentication-plugin=mysql_native_password  
    environment:  
      MYSQL_ROOT_PASSWORD: !#REPLACE-ME  
      MYSQL_DATABASE: kanboard  
      MYSQL_USER: kanboard  
      MYSQL_PASSWORD: !#REPLACE-ME  
    volumes:  
    - db:/var/lib/mysql  
volumes:  
  kanboard_data:  
  kanboard_plugins:  
  db:
  1. 새로운 터미널을 열고 다음 명령어를 사용하여 안전한 비밀번호를 생성합니다:
cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w16 | head -n1
  1. 이전 터미널로 돌아가서 파일 안의 모든 “#!REPLACE-ME” 인스턴스에 안전한 비밀번호를 붙여넣습니다.

Kanboard를 위한 작동 중인 Docker compose 파일을 보여주는 터미널.

  1. Ctrl + O를 눌러 “docker-compose.yml” 파일을 저장하고 Ctrl + X를 눌러 종료합니다.

  2. 이제 다음 명령어를 실행하여 Kanboard Docker 컨테이너를 빌드할 수 있습니다:

docker compose up -d

Docker Compose의 빌드 프로세스를 보여주는 터미널.

알아두면 좋은 점: 오늘 Obsidian.md를 사용하여 오프라인 칸반 보드를 만드는 방법을 배우세요.

SSL을 위한 Kanboard 설정하기

이 시점에서, 이제 부분적으로 작동하는 Kanboard 설치가 있습니다. 그러나 안전하게 접근하기 위해서는 먼저 Nginx 리버스 프록시를 생성해야 합니다. 이는 부하 분산 및 SSL을 제공하는 웹 서버 역할을 합니다.

  1. Nginx 웹 서버를 설치합니다:
sudo apt install nginx
  1. Nginx 리버스 프록시를 위한 사이트 구성 파일을 만듭니다:
sudo nano /etc/nginx/sites-available/kanboard
  1. 새로운 사이트 구성 파일 안에 다음 코드 블록을 복사하여 붙여넣습니다:
server {  
    listen 80;  
    listen [::]:80;  
  
    root                    /var/www/html;  
    server_name             my-kanban-domain-url.com;  
  
    location / {  
        proxy_set_header    X-Forwarded-For $remote_addr;  
        proxy_set_header    Host $http_host;  
        proxy_pass          http://localhost:8080;  
}  
}

참고: “my-kanban-domain-url.com”을 실제 도메인 이름으로 교체하세요.

  1. Kanboard 리버스 프록시를 위한 심볼릭 링크를 만듭니다:
sudo ln -s /etc/nginx/sites-available/kanboard /etc/nginx/sites-enabled/kanboard
  1. Nginx 서비스 데몬을 다시 로드합니다:
sudo systemctl reload nginx.service

Kanboard를 위한 SSL 인증서 얻기

리버스 프록시가 설정되었으므로, 이제 Kanboard를 위한 SSL 인증서를 요청할 수 있습니다. 이 섹션에서는 전자 프론티어 재단(EFF)의 Certbot을 통해 무료 인증서를 얻는 방법을 보여줍니다.

  1. 시작하려면, 시스템의 코어 스냅 데몬을 설치하고 업데이트해야 합니다:
sudo snap install core  
sudo snap refresh core
  1. certbot 스냅 패키지를 설치합니다:
sudo snap install --classic certbot
  1. certbot 스냅 바이너리와 시스템의 기본 바이너리 디렉토리 간에 심볼릭 링크를 만듭니다:
sudo ln -s /snap/bin/certbot /usr/bin/certbot
  1. certbot이 실행되고 있는지 테스트하기 위해 EFF에 등록합니다:
sudo certbot register --agree-tos --email [email protected]
  1. 다음 명령어를 실행하여 도메인 이름에 대한 SSL 인증서를 생성합니다:
sudo certbot

목록에서 도메인을 선택하면 SSL을 생성하는 작업을 수행합니다.

알아두면 좋은 점: 오늘 인터넷에서 암호화에 대해 더 알아보세요. 자신의 자체 서명된 SSL 인증서를 생성해보세요.

로그인 및 칸반 보드 만들기

이제 Kanboard를 사용하여 칸반 보드를 생성하고 관리할 수 있습니다. 이를 위해 웹 브라우저에서 도메인 이름에 접근하여 Kanboard 인스턴스에 로그인합니다.

  1. 로그인 화면에서 사용자 이름과 비밀번호로 “admin”을 사용합니다.
  2. “새 프로젝트”를 클릭하여 공개 칸반 보드를 생성합니다.

Kanboard 서버의

  1. 새 보드의 이름과 URL 슬러그를 제공합니다.
  2. 페이지의 왼쪽 사이드바에서 “공개 접근”을 클릭합니다.

칸반 보드를 위한

  1. 파란색 “공개 접근 활성화“ 버튼을 클릭합니다. 이렇게 하면 RSS 피드와 비칸반 사용자와 공유할 수 있는 공개적으로 볼 수 있는 링크가 생성됩니다.

Kanboard에서

  1. 페이지의 왼쪽 상단 모서리에 있는 “보드” 버튼을 클릭하여 보드에 접근하고 새 항목을 생성합니다.

작동 중인 공개 칸반 보드를 보여주는 스크린샷.

협업 칸반 보드를 위한 사용자 만들기

공개적으로 접근 가능한 “보기 전용” 보드를 공유하는 것 외에도, Kanboard를 사용하여 여러 로컬 사용자 간의 협업 “작업” 보드를 생성할 수 있습니다.

  1. 페이지의 오른쪽 상단 모서리에 있는 관리자 사용자 아이콘을 클릭한 후 “사용자 관리”를 선택합니다.

대시보드에서

  1. 페이지의 왼쪽 상단 사이드바에서 “새 사용자” 링크를 클릭합니다.
  2. 그러면 Kanboard가 새 사용자의 사용자 이름과 비밀번호를 요청하는 작은 대화 상자가 나타납니다.

Kanboard의 새 사용자 양식을 보여주는 스크린샷.

  1. 프롬프트의 하단으로 스크롤하여 “프로젝트” 카테고리 아래의 드롭다운 상자를 클릭합니다.

Kanboard

  1. 사용자가 참여할 칸반 보드를 선택합니다.

새 사용자를 위한 보드 선택을 보여주는 스크린샷.

  1. “저장”을 클릭하여 새 사용자 계정을 생성합니다.

새 사용자 프롬프트의 저장 버튼을 보여주는 스크린샷.

플러그인으로 칸반 보드 사용자화하기

Kanboard의 뛰어난 기능 중 하나는 기본 기능을 넘어 보드를 확장할 수 있는 프레임워크를 제공한다는 것입니다. 이는 서버에 사용자 정의 기능을 포함시키기 위해 개발자에게 의존할 필요가 없음을 의미합니다.

  1. 새 플러그인을 추가하려면 페이지의 오른쪽 상단 모서리에 있는 관리자 사용자 아이콘을 클릭한 후 “플러그인”을 선택합니다.

관리자 사용자의 대시보드에서

  1. 페이지의 왼쪽 사이드바에서 “플러그인 디렉토리” 카테고리를 클릭합니다.

플러그인 하위 메뉴 내의

  1. Kanboard 서버에 설치할 플러그인을 찾습니다. 제 경우에는 서버의 기본 Markdown을 확장하기 위해 “MarkdownPlus”를 설치할 것입니다.

Kanboard에서 사용 가능한 플러그인을 보여주는 스크린샷.

  1. “설치“를 클릭한 후 웹페이지를 새로 고쳐 플러그인이 서버에 제대로 로드되도록 합니다.

참고: 칸반은 작업과 데이터를 관리하는 유일한 방법이 아닙니다. 오늘 Todoist를 사용하여 할 일 목록과 데이터를 최적화하는 방법을 배우세요.

자주 묻는 질문

칸반 보드의 내용을 백업할 수 있나요?

네. 특정 칸반 보드를 백업하려면, 내보내고 싶은 보드의 기어 아이콘을 클릭한 후 “내보내기”를 클릭합니다.

이렇게 하면 Kanboard가 내보내고 싶은 날짜 범위를 요청하는 작은 프롬프트가 나타납니다. 시작일과 종료일을 제공한 후 “내보내기”를 클릭합니다.

칸반 보드의 “잠금 해제” 기간을 재설정할 수 있나요?

네. 특정 사용자의 잠금 해제 타이머를 재설정할 수 있습니다. 이를 위해 페이지의 오른쪽 상단 모서리에 있는 관리자 사용자 아이콘을 클릭합니다. 다음으로 “사용자 관리” 항목을 선택한 후 잠금 해제된 사용자의 이름을 클릭합니다. 마지막으로 “보안” 카테고리로 가서 “이 사용자 잠금 해제”를 클릭합니다.

Kanboard 컨테이너 안의 config.php 파일을 수정할 수 있나요?

네. 그러나 이렇게 하면 Docker 이미지의 일관성이 손상될 수 있습니다. 대신, 프로그램의 개발자들은 Kanboard 인스턴스의 값을 구성할 때 docker-compose.yml 파일 내의 환경 변수를 사용할 것을 권장합니다.

이미지 출처: Eden Constantino via Unsplash. 모든 수정 및 스크린샷은 Ramces Red에 의해 이루어졌습니다.