Kanboard를 사용하여 Linux에서 미니멀리스트 Kanban을 만드는 방법

Kanboard를 사용하여 Linux에서 미니멀리스트 Kanban을 만드는 방법

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

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

칸보드를 사용하는 이유

Kanboard의 가장 큰 장점 중 하나는 Docker의 마법을 통해 거의 모든 서버에서 작동할 수 있다는 것입니다. 결과적으로 기술 전문가가 아닌 사용자도 Kanboard를 호스팅하는 것이 쉽고 간편합니다.

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

작동하는 Kanboard 인스턴스의 스크린샷.

칸보드 설치

  • Kanboard 설치의 첫 번째 단계는 시스템이 최신 상태인지 확인하는 것입니다. 다음 명령을 실행하여 이를 수행할 수 있습니다.

sudo apt updatesudo apt upgrade

  • 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

  • 즐겨 사용하는 텍스트 편집기를 사용하여 새 apt 저장소 파일을 만듭니다.

sudo nano /etc/apt/sources.list.d/docker.list

  • 공식 Docker 리포지토리에 대한 리포지토리 정보를 작성합니다.

deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable

  • Ctrl+ 를 누른 O다음 Ctrl+ 를 눌러 새 리포지토리 파일을 저장합니다 X.
  • 다음 명령을 실행하여 시스템의 리포지토리 세부 정보를 업데이트합니다.

sudo apt update

  • apt를 사용하여 종속성과 함께 Docker 엔진을 설치합니다.

sudo apt install wget docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin

칸보드 구하기

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

  • Kanboard용 홈 디렉토리에 별도의 폴더를 만듭니다.

mkdir ~/kanboard
cd ~/kanboard

  • 원하는 텍스트 편집기를 통해 “docker-compose.yml”이라는 이름으로 새 텍스트 파일을 만듭니다.

nano ~/kanboard/docker-compose.yml

  • 다음 코드 블록을 복사하여 “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:

  • 새 터미널을 열고 다음 명령을 사용하여 보안 암호를 생성하십시오.

cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 16 | head -n 1

  • 이전 터미널로 돌아가서 파일 안에 있는 모든 “#!REPLACE-ME” 인스턴스에 보안 암호를 붙여넣습니다.
Kanboard용 Docker 작성 파일을 보여주는 터미널입니다.
  • Ctrl+ 를 누른 O다음 Ctrl+ 를 눌러 “docker-compose.yml” 파일을 저장하고 종료합니다 X.
  • 이제 다음 명령을 실행하여 Kanboard 도커 컨테이너를 빌드할 수 있습니다.

docker compose up -d

Docker Compose의 빌드 프로세스 터미널입니다.

SSL용 Kanboard 설정

이 시점에서 이제 부분적으로 작동하는 Kanboard 설치가 있습니다. 그러나 안전하게 액세스하려면 먼저 Nginx 리버스 프록시를 생성 해야 합니다 . 이는 로드 밸런싱 및 SSL을 제공하는 웹 대면 서버 역할을 합니다.

  • Nginx 웹서버를 설치합니다:

sudo apt install nginx

  • Nginx 리버스 프록시용 사이트 구성 파일을 만듭니다.

sudo nano /etc/nginx/sites-available/kanboard

  • 새 사이트 구성 파일에 다음 코드 블록을 복사하여 붙여넣습니다.

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;
}}

  • Kanboard 리버스 프록시에 대한 심볼릭 링크를 만듭니다.

sudo ln -s /etc/nginx/sites-available/kanboard /etc/nginx/sites-enabled/kanboard

  • Nginx 서비스 데몬을 다시 로드합니다.

sudo systemctl reload nginx.service

Kanboard용 SSL 인증서 받기

리버스 프록시를 사용하면 이제 Kanboard용 SSL 인증서를 요청할 수 있습니다. 이 섹션에서는 EFF(Electronic Frontier Foundation)의 Certbot을 통해 무료 인증서를 얻는 방법을 보여줍니다.

  • 시작하려면 시스템의 코어 스냅 데몬을 설치하고 업데이트해야 합니다.

sudo snap install core
sudo snap refresh core

  • certbot 스냅 패키지를 설치합니다.

sudo snap install --classic certbot

  • certbot 스냅 바이너리와 시스템의 기본 바이너리 디렉토리 사이에 심볼릭 링크를 만듭니다.

sudo ln -s /snap/bin/certbot /usr/bin/certbot

  • certbot을 사용하여 EFF에 등록하여 certbot이 실행 중인지 테스트합니다.

sudo certbot register --agree-tos --email ramces@email.invalid

  • 다음 명령을 실행하여 도메인 이름에 대한 SSL 인증서를 생성하십시오.

sudo certbot

항목에서 도메인을 선택하면 해당 작업을 수행하여 도메인용 SSL을 생성합니다.

로그인 및 Kanban 보드 만들기

이제 Kanban 보드를 만들고 관리하는 데 Kanboard를 사용할 수 있습니다. 그렇게 하려면 웹 브라우저에서 해당 도메인 이름에 액세스하여 Kanboard 인스턴스에 로그인하십시오.

  • 로그인 화면에서 사용자 이름과 비밀번호로 “admin”을 사용하십시오.
  • 공개 Kanban 보드를 만들려면 “새 프로젝트”를 클릭하십시오.
강조 표시된 스크린 샷
  • 새 보드의 이름과 URL 슬러그를 제공하십시오.
  • 페이지의 왼쪽 사이드바에서 “공개 액세스”를 클릭합니다.
강조 표시된 스크린 샷
  • 파란색 “공개 액세스 활성화” 버튼을 클릭합니다. 이렇게 하면 Kanboard가 아닌 사용자와 공유할 수 있는 RSS 피드 및 공개적으로 볼 수 있는 링크가 생성됩니다.
를 보여주는 스크린샷
  • 페이지의 왼쪽 상단 모서리에 있는 “보드” 버튼을 클릭하여 보드에 액세스하고 새 항목을 만드십시오.
공개 Kanban 보드 실행을 보여주는 스크린샷.

협업 칸반 보드용 사용자 생성

공개적으로 액세스할 수 있는 “보기 전용” 보드를 공유하는 것 외에도 Kanboard를 사용하여 여러 로컬 사용자 간에 공동 작업 “작업” 보드를 만들 수 있습니다.

  • 페이지의 오른쪽 상단 모서리에 있는 관리 사용자 아이콘을 클릭한 다음 “사용자 관리”를 선택합니다.
강조 표시된 스크린 샷
  • 페이지의 왼쪽 상단 사이드바에서 “새 사용자” 링크를 클릭합니다.
  • 이렇게 하면 Kanboard가 새 사용자의 사용자 이름과 암호를 묻는 작은 대화 상자가 나타납니다.
Kanboard의 새 사용자 양식을 보여주는 스크린샷.
  • 프롬프트 하단으로 스크롤하여 “프로젝트” 범주 아래의 드롭다운 상자를 클릭합니다.
를 보여주는 스크린샷
  • 사용자가 속할 Kanban 보드를 선택합니다.
새 사용자의 보드 선택을 보여주는 스크린샷.
  • 새 사용자 계정을 만들려면 “저장”을 클릭하십시오.
새 사용자 프롬프트의 저장 버튼을 보여주는 스크린샷.

플러그인으로 Kanban 보드 사용자 지정

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

  • 새 플러그인을 추가하려면 페이지 오른쪽 상단 모서리에 있는 관리자 아이콘을 클릭한 다음 “플러그인”을 선택하십시오.
강조 표시된 스크린 샷
  • 페이지의 왼쪽 사이드바에서 “플러그인 디렉토리” 범주를 클릭하십시오.
를 보여주는 스크린샷
  • Kanboard 서버에 설치하려는 플러그인을 찾으십시오. 제 경우에는 “MarkdownPlus”를 설치하여 기본 Markdown을 내 서버에 확장합니다.
Kanboard에서 사용 가능한 플러그인을 보여주는 스크린샷.
  • “설치”를 클릭한 다음 웹페이지를 새로고침하여 서버에 플러그인을 제대로 로드합니다.
강조 표시된 스크린 샷

자주 묻는 질문

Kanban 보드의 내용을 백업할 수 있습니까?

예. 특정 Kanban 보드를 백업하려면 내보내려는 보드에서 기어 아이콘을 클릭한 다음 “내보내기”를 클릭하십시오.

이렇게 하면 Kanboard가 내보내려는 날짜 범위를 묻는 작은 프롬프트가 나타납니다. 시작일과 종료일을 입력한 다음 ‘내보내기’를 클릭합니다.

Kanban 보드의 “잠금” 기간을 재설정할 수 있습니까?

예. Kanboard에서 특정 사용자의 잠금 타이머를 재설정할 수 있습니다. 이렇게 하려면 페이지의 오른쪽 상단 모서리에 있는 관리 사용자의 아이콘을 클릭하십시오. 그런 다음 “사용자 관리” 항목을 선택한 다음 잠긴 사용자의 이름을 클릭합니다. 마지막으로 “보안” 범주로 이동하여 “이 사용자 잠금 해제”를 클릭합니다.

내 Kanboard 컨테이너 내에서 config.php 파일을 수정할 수 있습니까?

예. 그러나 이렇게 하면 잠재적으로 Docker 이미지의 일관성이 손상될 수 있습니다. 대신 프로그램 개발자는 Kanboard 인스턴스의 값을 구성할 때 docker-compose.yml 파일 내부의 환경 변수를 사용할 것을 제안합니다.

이미지 크레디트: Unsplash를 통한 Eden Constantino . Ramces Red의 모든 변경 및 스크린샷.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다