개발상식

Docker 기반 셀프호스팅 프로젝트 관리 도구 비교 가이드

행복한 수지아빠 2026. 1. 19. 10:58
반응형

한눈에 비교

도구 추천 리소스주요 특징

Plane ⭐⭐⭐ 중간 Jira 대안, 모던 UI
Focalboard ⭐⭐⭐ 가벼움 Notion 스타일, 빠름
WeKan ⭐⭐ 매우 가벼움 Trello 클론, 심플
Leantime ⭐⭐ 중간 문서+PM 통합
OpenProject 무거움 엔터프라이즈급

1. Plane

Jira의 오픈소스 대안, 가장 모던한 UI

링크

장점

  • 깔끔하고 현대적인 UI/UX (Jira, Linear 수준)
  • 이슈 트래킹, 칸반, 스프린트, 사이클 지원
  • 문서(Pages) 기능 내장
  • GitHub/GitLab 연동
  • 활발한 개발 및 커뮤니티

단점

  • 상대적으로 리소스 사용량 높음 (PostgreSQL, Redis, MinIO 필요)
  • 초기 설정이 다소 복잡
  • 일부 고급 기능은 Cloud 버전에서만 제공

Docker 설치 방법

# 1. 저장소 클론
git clone https://github.com/makeplane/plane.git
cd plane

# 2. 환경 설정
cp .env.example .env

# 3. 실행
docker compose up -d

# 접속: http://localhost:3000

최소 시스템 요구사항

  • RAM: 4GB 이상
  • Storage: 10GB 이상

2. Focalboard

Notion/Trello 대안, 가볍고 빠름

링크

장점

  • 매우 가벼움 (단일 바이너리)
  • Notion 스타일의 데이터베이스 뷰
  • 칸반, 테이블, 캘린더, 갤러리 뷰 지원
  • Mattermost와 통합 가능
  • 개인용으로 완전 무료

단점

  • Mattermost 팀이 플러그인 형태로 전환 중 (standalone 지원 축소)
  • 고급 협업 기능 제한적
  • 알림 기능 부족

Docker 설치 방법

# 단일 컨테이너로 즉시 실행
docker run -d \
  --name focalboard \
  -p 8000:8000 \
  -v focalboard-data:/opt/focalboard/data \
  mattermost/focalboard

# 접속: http://localhost:8000

docker-compose.yml 예시

version: '3'
services:
  focalboard:
    image: mattermost/focalboard
    container_name: focalboard
    restart: unless-stopped
    ports:
      - "8000:8000"
    volumes:
      - focalboard-data:/opt/focalboard/data

volumes:
  focalboard-data:

최소 시스템 요구사항

  • RAM: 512MB
  • Storage: 1GB

3. WeKan

Trello 클론, 초경량 칸반 보드

링크

장점

  • Trello와 거의 동일한 사용법
  • 매우 가벼움
  • 체크리스트, 라벨, 마감일, 첨부파일 지원
  • 다양한 언어 지원 (한국어 포함)
  • 오랜 역사와 안정성

단점

  • 칸반 보드만 지원 (리스트, 간트 없음)
  • UI가 다소 구식
  • 문서 기능 없음

Docker 설치 방법

# docker-compose.yml 생성 후 실행
docker compose up -d

# 접속: http://localhost:8080

docker-compose.yml 예시

version: '3'
services:
  wekan:
    image: wekanteam/wekan:latest
    container_name: wekan
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      - MONGO_URL=mongodb://wekandb:27017/wekan
      - ROOT_URL=http://localhost:8080
    depends_on:
      - wekandb

  wekandb:
    image: mongo:6
    container_name: wekan-db
    restart: unless-stopped
    volumes:
      - wekan-db:/data/db

volumes:
  wekan-db:

최소 시스템 요구사항

  • RAM: 1GB
  • Storage: 2GB

4. Leantime

PM + 문서 + 타임트래킹 통합 솔루션

링크

장점

  • 프로젝트 관리 + 문서 + 시간 추적 올인원
  • 마일스톤, 칸반, 타임라인 뷰 지원
  • 목표(OKR) 관리 기능
  • 직관적인 UI
  • 중소 팀에 적합

단점

  • 대규모 팀에는 기능 부족
  • 일부 기능은 유료 버전에서만 제공
  • GitHub 연동 제한적

Docker 설치 방법

# docker-compose.yml 생성 후 실행
docker compose up -d

# 접속: http://localhost:8080
# 초기 설정 마법사 실행됨

docker-compose.yml 예시

version: '3'
services:
  leantime:
    image: leantime/leantime:latest
    container_name: leantime
    restart: unless-stopped
    ports:
      - "8080:80"
    environment:
      LEAN_DB_HOST: mysql
      LEAN_DB_USER: lean
      LEAN_DB_PASSWORD: lean
      LEAN_DB_DATABASE: leantime
    depends_on:
      - mysql

  mysql:
    image: mysql:8.0
    container_name: leantime-db
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: leantime
      MYSQL_USER: lean
      MYSQL_PASSWORD: lean
    volumes:
      - leantime-db:/var/lib/mysql

volumes:
  leantime-db:

최소 시스템 요구사항

  • RAM: 1GB
  • Storage: 2GB

5. OpenProject

엔터프라이즈급 풀기능 프로젝트 관리

링크

장점

  • 가장 완전한 기능 세트
  • 간트 차트, 애자일 보드, 타임라인
  • 워크 패키지, 비용 관리, 시간 추적
  • 위키, 문서, 미팅 관리
  • 엔터프라이즈 지원

단점

  • 리소스 사용량 높음 (RAM 4GB+ 권장)
  • 초기 설정 복잡
  • UI가 다소 복잡하고 학습 곡선 있음
  • 일부 기능은 Enterprise 버전에서만 제공

Docker 설치 방법

# 올인원 컨테이너로 빠르게 시작
docker run -d \
  --name openproject \
  -p 8080:80 \
  -e OPENPROJECT_SECRET_KEY_BASE=secret \
  -e OPENPROJECT_HOST__NAME=localhost:8080 \
  -e OPENPROJECT_HTTPS=false \
  -v openproject-pgdata:/var/openproject/pgdata \
  -v openproject-assets:/var/openproject/assets \
  openproject/openproject:14

# 접속: http://localhost:8080
# 초기 계정: admin / admin

docker-compose.yml 예시

version: '3'
services:
  openproject:
    image: openproject/openproject:14
    container_name: openproject
    restart: unless-stopped
    ports:
      - "8080:80"
    environment:
      OPENPROJECT_SECRET_KEY_BASE: your-secret-key-here
      OPENPROJECT_HOST__NAME: localhost:8080
      OPENPROJECT_HTTPS: "false"
    volumes:
      - openproject-pgdata:/var/openproject/pgdata
      - openproject-assets:/var/openproject/assets

volumes:
  openproject-pgdata:
  openproject-assets:

최소 시스템 요구사항

  • RAM: 4GB 이상
  • Storage: 10GB 이상

용도별 추천

개발팀 (이슈 트래킹 중심)

  1. Plane - Jira 대안으로 가장 적합
  2. Focalboard - 가볍게 시작하고 싶다면

소규모 팀 / 개인

  1. Focalboard - 빠르고 간단
  2. WeKan - 칸반만 필요하다면

문서 + PM 통합

  1. Leantime - 올인원 솔루션
  2. Plane - Pages 기능 활용

엔터프라이즈 / 복잡한 프로젝트

  1. OpenProject - 모든 기능 필요시

현재 프로젝트에 통합하기

기존 docker-compose.yml에 원하는 도구를 추가할 수 있습니다:

# 기존 scholarly 서비스들...

  # 예: Focalboard 추가
  focalboard:
    image: mattermost/focalboard
    container_name: scholarly-pm
    restart: unless-stopped
    ports:
      - "8103:8000"
    volumes:
      - focalboard-data:/opt/focalboard/data
    networks:
      - scholarly-network

volumes:
  focalboard-data:

참고 자료

반응형