Dolibarr는 프랑스에서 시작되어 전 세계적으로 사랑받는 오픈소스 ERP/CRM 솔루션입니다. 특히 중소기업과 프리랜서를 위해 설계되어 복잡한 설정 없이도 바로 사용할 수 있습니다. 고객 관리, 인보이스, 견적, 재고, 프로젝트 관리 등 비즈니스에 필요한 핵심 기능을 모두 갖추고 있습니다.
Dolibarr 주요 특징
Dolibarr는 “필요한 기능만 활성화”하는 모듈식 철학을 따릅니다.
핵심 모듈
- 고객/공급업체 관리: 거래처 정보, 연락처, 카테고리 관리
- 영업 관리: 견적서, 판매 주문, 계약, 구독 관리
- 청구/인보이스: 인보이스 생성, 반복 청구, 결제 추적
- 재고 관리: 제품, 창고, 재고 이동, 배송
- 구매 관리: 발주서, 입고, 공급업체 인보이스
- 프로젝트 관리: 작업, 타임시트, 간트 차트
- HR: 직원 관리, 휴가, 경비
- POS: 판매 시점 관리 (터치 인터페이스)
장점
- 매우 가벼운 리소스 사용
- 직관적인 UI
- 85개 이상 언어 지원 (한국어 포함)
- 활발한 커뮤니티
- 다양한 외부 모듈
- 완전 무료 오픈소스
사전 요구 사항
- Docker 및 Docker Compose 설치
- 최소 512MB RAM
- 2GB 이상 저장 공간
Docker Compose로 Dolibarr 설치
기본 설치
# docker-compose.yml
services:
mariadb:
image: mariadb:latest
container_name: dolibarr-db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-rootpassword}
MYSQL_DATABASE: ${MYSQL_DATABASE:-dolidb}
MYSQL_USER: ${MYSQL_USER:-dolidbuser}
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-dolidbpass}
volumes:
- mariadb-data:/var/lib/mysql
networks:
- dolibarr-net
dolibarr:
image: dolibarr/dolibarr:latest
container_name: dolibarr
restart: unless-stopped
depends_on:
- mariadb
ports:
- "8080:80"
environment:
DOLI_DB_HOST: mariadb
DOLI_DB_NAME: ${MYSQL_DATABASE:-dolidb}
DOLI_DB_USER: ${MYSQL_USER:-dolidbuser}
DOLI_DB_PASSWORD: ${MYSQL_PASSWORD:-dolidbpass}
DOLI_URL_ROOT: ${DOLI_URL_ROOT:-http://localhost:8080}
DOLI_ADMIN_LOGIN: ${DOLI_ADMIN_LOGIN:-admin}
DOLI_ADMIN_PASSWORD: ${DOLI_ADMIN_PASSWORD:-admin}
DOLI_INSTALL_AUTO: 1
DOLI_INIT_DEMO: 0
PHP_INI_DATE_TIMEZONE: Asia/Seoul
volumes:
- dolibarr-documents:/var/www/documents
- dolibarr-custom:/var/www/html/custom
networks:
- dolibarr-net
volumes:
mariadb-data:
dolibarr-documents:
dolibarr-custom:
networks:
dolibarr-net:
driver: bridge
환경 변수 파일
# .env
MYSQL_ROOT_PASSWORD=your_secure_root_password
MYSQL_DATABASE=dolidb
MYSQL_USER=dolidbuser
MYSQL_PASSWORD=your_secure_db_password
DOLI_URL_ROOT=http://dolibarr.yourdomain.com
DOLI_ADMIN_LOGIN=admin
DOLI_ADMIN_PASSWORD=your_admin_password
설치 및 실행
# 디렉토리 생성 및 이동
mkdir dolibarr && cd dolibarr
# 영구 저장소 디렉토리 생성 (선택사항)
mkdir -p data/mariadb data/documents data/custom
# docker-compose.yml 및 .env 파일 생성
# 컨테이너 실행
docker compose up -d
# 로그 확인
docker compose logs -f dolibarr
# 약 1-2분 후 브라우저에서 접속
# http://localhost:8080
# 로그인: admin / admin (또는 .env에서 설정한 값)
고급 설정
로컬 볼륨 마운트 (백업 용이)
# docker-compose.yml
services:
mariadb:
volumes:
- ./data/mariadb:/var/lib/mysql
dolibarr:
volumes:
- ./data/documents:/var/www/documents
- ./data/custom:/var/www/html/custom
PostgreSQL 사용 설정
Dolibarr는 PostgreSQL도 지원합니다:
# docker-compose.yml
services:
postgres:
image: postgres:15
container_name: dolibarr-db
restart: unless-stopped
environment:
POSTGRES_DB: dolidb
POSTGRES_USER: dolidbuser
POSTGRES_PASSWORD: dolidbpass
volumes:
- postgres-data:/var/lib/postgresql/data
networks:
- dolibarr-net
dolibarr:
image: dolibarr/dolibarr:latest
environment:
DOLI_DB_TYPE: pgsql
DOLI_DB_HOST: postgres
DOLI_DB_PORT: 5432
DOLI_DB_NAME: dolidb
DOLI_DB_USER: dolidbuser
DOLI_DB_PASSWORD: dolidbpass
# PostgreSQL 사용 시 수동 설치 필요
DOLI_INSTALL_AUTO: 0
volumes:
postgres-data:
Traefik 리버스 프록시 연동
# docker-compose.yml
services:
dolibarr:
labels:
- "traefik.enable=true"
- "traefik.http.routers.dolibarr.rule=Host(`dolibarr.yourdomain.com`)"
- "traefik.http.routers.dolibarr.entrypoints=websecure"
- "traefik.http.routers.dolibarr.tls.certresolver=letsencrypt"
- "traefik.http.services.dolibarr.loadbalancer.server.port=80"
networks:
- traefik-public
- dolibarr-net
networks:
traefik-public:
external: true
모듈 활성화 및 설정
주요 모듈 활성화
Dolibarr 로그인 후:
- Home > Setup > Modules/Application 이동
- 필요한 모듈 활성화:
- Third parties (거래처)
- Products/Services (제품)
- Commercial proposals (견적)
- Customer orders (고객 주문)
- Customer invoices (청구서)
- Banks/Cash (은행/현금)
- Projects (프로젝트)
회사 정보 설정
- Setup > Company/Organization 이동
- 회사명, 주소, 로고 등 설정
- 세금 정보 입력
한국어 설정
- Setup > Translation > Language 이동
- 한국어(Korean) 활성화
- 사용자 프로필에서 기본 언어 변경
외부 모듈 설치
DoliStore에서 모듈 설치
# 커스텀 모듈 디렉토리
docker compose exec dolibarr ls /var/www/html/custom
# 모듈 다운로드 후 custom 폴더에 업로드
# 또는 DoliStore (https://www.dolistore.com)에서 직접 설치
수동 모듈 설치
# 모듈을 custom 폴더에 복사
cp -r my_module ./data/custom/
# 권한 설정
docker compose exec dolibarr chown -R www-data:www-data /var/www/html/custom
# Dolibarr에서 모듈 활성화
# Setup > Modules/Application
관리 명령어
# 데이터베이스 백업
docker compose exec mariadb mysqldump -u root -p dolidb > backup.sql
# 데이터베이스 복원
docker compose exec -T mariadb mysql -u root -p dolidb < backup.sql
# 문서 폴더 백업
tar -czvf documents_backup.tar.gz ./data/documents
# 로그 확인
docker compose logs -f dolibarr
# 컨테이너 재시작
docker compose restart dolibarr
# 캐시 클리어
docker compose exec dolibarr rm -rf /var/www/documents/admin/temp/*
업그레이드 절차
# 1. 백업 생성
docker compose exec mariadb mysqldump -u root -p dolidb > backup_before_upgrade.sql
tar -czvf documents_backup.tar.gz ./data/documents
# 2. install.lock 파일 제거
docker compose exec dolibarr rm -f /var/www/documents/install.lock
# 3. 새 이미지 풀
docker compose pull
# 4. 컨테이너 재시작
docker compose up -d
# 5. 브라우저에서 /install 접속하여 업그레이드 진행
# http://localhost:8080/install
# 6. 업그레이드 완료 후 install.lock 재생성
docker compose exec dolibarr touch /var/www/documents/install.lock
환경 변수 전체 목록
| 변수 | 설명 | 기본값 |
|---|---|---|
| DOLI_DB_HOST | 데이터베이스 호스트 | localhost |
| DOLI_DB_PORT | 데이터베이스 포트 | 3306 |
| DOLI_DB_TYPE | DB 타입 (mysqli/pgsql) | mysqli |
| DOLI_DB_NAME | 데이터베이스 이름 | dolidb |
| DOLI_DB_USER | DB 사용자 | root |
| DOLI_DB_PASSWORD | DB 비밀번호 | – |
| DOLI_URL_ROOT | 접속 URL | http://localhost |
| DOLI_ADMIN_LOGIN | 관리자 로그인 | admin |
| DOLI_ADMIN_PASSWORD | 관리자 비밀번호 | admin |
| DOLI_INSTALL_AUTO | 자동 설치 (1/0) | 1 |
| DOLI_INIT_DEMO | 데모 데이터 (1/0) | 0 |
| DOLI_MODULES | 활성화할 모듈 목록 | – |
| PHP_INI_DATE_TIMEZONE | 타임존 | UTC |
마무리
Dolibarr는 가볍고 직관적인 ERP/CRM 솔루션으로, 특히 중소기업과 1인 기업에 최적화되어 있습니다. 복잡한 설정 없이도 빠르게 시작할 수 있으며, 필요에 따라 모듈을 추가하여 확장할 수 있습니다. Docker를 활용하면 몇 분 만에 완전한 비즈니스 관리 시스템을 구축할 수 있습니다.
참고 링크
- 공식 사이트: https://www.dolibarr.org
- GitHub: https://github.com/Dolibarr/dolibarr
- Docker Hub: https://hub.docker.com/r/dolibarr/dolibarr
- DoliStore (모듈): https://www.dolistore.com
- 위키 문서: https://wiki.dolibarr.org