소중한 관계 관리: Monica를 이용한 개인 CRM 구축 가이드
현대 사회는 매우 빠르게 변화하고 있으며, 우리는 끊임없이 쏟아지는 뉴스와 소셜 미디어 게시물 속에서 살아가고 있습니다. 이러한 환경 속에서 중요한 날짜나 이벤트를 잊기 쉽고, 심지어는 우리가 만났던 사람들에 대한 세세한 정보까지도 기억하기 어려워질 수 있습니다. 특히 다양한 모임에 참석하고 새로운 사람들을 자주 만나는 활동적인 생활을 하는 경우 더욱 그렇습니다.
이러한 어려움을 극복하고 소중한 관계를 효과적으로 관리할 수 있도록 도와주는 훌륭한 도구가 있습니다. 바로 오픈 소스 개인 CRM인 모니카입니다. 모니카는 단순한 연락처 관리 도구를 넘어, 사랑하는 사람들과의 사회적 관계를 체계적으로 관리하고 기억하는 데 도움을 줍니다.
이제 Linode의 Docker 환경에 모니카 개인 CRM 인스턴스를 설치하고 설정하는 방법을 자세히 알아보겠습니다.
Docker 환경에서 Monica를 위한 사전 준비
가장 먼저 Docker 서버가 필요합니다. Linode는 이 과정을 매우 간소화하여, 합리적인 월별 비용으로 서버를 구축할 수 있도록 지원합니다. 여기에 사설 IP 주소와 백업 기능을 추가하면 더욱 안정적인 환경을 구축할 수 있습니다.
다음으로 필요한 것은 도메인 이름입니다. 도메인 이름은 다양한 온라인 플랫폼에서 구입할 수 있으며, 가격은 구매처에 따라 달라질 수 있습니다. 중요한 것은 도메인의 DNS 설정이 Linode 서버를 가리키도록 설정해야 한다는 점입니다. 자세한 내용은 여기에서 확인할 수 있습니다.
또한 Docker 서버에는 역방향 프록시 설정이 필요합니다. 이는 트래픽 라우팅 및 SSL 관리와 같은 중요한 기능을 수행합니다. Nginx Proxy Manager와 Portainer를 활용하면 간편하게 역방향 프록시를 설정할 수 있습니다. Docker 서버 설정 과정은 이곳에서 확인할 수 있습니다.
Docker 서버 설정이 완료되었다면, 이제 해당 서버에 모니카 인스턴스를 설치할 준비가 되었습니다. 모니카 인스턴스는 다음과 같은 두 가지 방법으로 설치할 수 있습니다.
- SSH를 통한 명령줄 인터페이스
- Portainer 대시보드를 통한 설치
여기서는 Portainer를 사용하여 설치하는 방법을 자세히 알아보겠습니다. Portainer는 사용자 친화적인 인터페이스를 제공하여 Docker 관리를 더욱 편리하게 만들어 줍니다.
http://your-server-ip-address:9000에 접속하여 이전에 설정한 Portainer 계정으로 로그인합니다.
화면 왼쪽 메뉴에서 “스택”을 선택하고, 다음 페이지에서 “+ 스택 추가” 버튼을 클릭합니다.
스택 이름을 입력하는 페이지가 나타나면 아래에 제공된 Docker Compose 설정 코드를 복사하여 붙여넣습니다.
version: "3.4" services: monica: image: monica networks: - nginxproxymanager_default depends_on: - monicadb ports: - 8456:80 environment: - APP_KEY=idYyiD2Dj3yMqoyi3EpcnHWC2GxzSAS5 - DB_HOST=monicadb - DB_USERNAME=monica - DB_PASSWORD=b2fWAfbyQuopHH9nD738x6o9TC9S8LM6 - APP_ENV=production volumes: - /home/docker/monica/config:/var/www/html/storage restart: always monicadb: image: mysql:5.7 networks: - nginxproxymanager_default environment: - MYSQL_RANDOM_ROOT_PASSWORD=true - MYSQL_DATABASE=monica - MYSQL_USER=monica - MYSQL_PASSWORD=b2fWAfbyQuopHH9nD738x6o9TC9S8LM6 volumes: - /home/docker/monica/db:/var/lib/mysql restart: always networks: nginxproxymanager_default: external: true
이 Docker Compose 파일은 최신 공식 모니카 이미지를 서버에 다운로드하고, “monica”라는 이름으로 컨테이너를 설정하고, “nginxproxymanager_default” 네트워크에 연결하도록 지시합니다. 또한 컨테이너 내부의 데이터를 “/home/docker/monica” 디렉토리에 마운트하여 컨테이너 종료 후에도 데이터가 유지되도록 합니다. 모니카 웹 인터페이스는 서버의 8456 포트를 통해 접속할 수 있습니다.
데이터가 저장될 경로를 변경하려면, 해당 경로에 올바른 쓰기 권한이 있는지 확인해야 합니다.
보안 강화를 위해 데이터베이스 암호와 “APP_KEY” 값을 반드시 변경해야 합니다. “APP_KEY”는 길고 무작위적인 문자열로 설정해야 합니다.
모든 설정이 완료되었으면 “스택 배포” 버튼을 클릭하여 컨테이너를 배포합니다.
서버가 모니카 이미지를 다운로드하고 배포하는 데 다소 시간이 걸릴 수 있습니다. 배포가 완료되면 컨테이너가 실행 중인 상태를 확인할 수 있습니다.
이제 http://your-server-ip-address:8456으로 이동하면 모니카 로그인 화면을 볼 수 있습니다.
하지만 하위 도메인으로 접속하는 것이 더 편리하므로, 도메인 및 SSL 설정을 먼저 진행하겠습니다.
도메인 및 SSL 설정
Linode 대시보드로 돌아가 “도메인” 섹션으로 이동합니다. 계정에 추가한 도메인을 선택하고, 도메인 관리 페이지에서 CNAME 섹션을 찾습니다.
원하는 하위 도메인 이름(예: “monica”)을 호스트 이름 항목에 입력하고, “Alias to” 상자에 @ 기호를 입력한 후 “저장”을 클릭하여 CNAME 레코드를 추가합니다.
이제 Nginx Proxy Manager로 이동하여 SSL 인증서와 도메인 설정을 완료할 차례입니다.
http://your-server-ip-address:81에 접속하여 Nginx Proxy Manager 로그인 화면을 확인합니다.
Nginx Proxy Manager의 기본 로그인 정보는 다음과 같습니다.
Email: [email protected] Password: changeme
해당 정보를 입력하거나, 변경한 경우에는 변경된 로그인 정보를 사용하여 Nginx Proxy Manager에 로그인합니다.
페이지 상단의 “SSL 인증서” 탭을 클릭한 후 “SSL 인증서 추가” 버튼을 클릭합니다.
나타나는 창에서 “Let’s Encrypt” 옵션을 선택합니다.
팝업 창에 SSL 인증서를 적용할 도메인의 전체 URL(예: https://monica.yourdomain.com)을 입력하고 “Enter” 키를 누릅니다.
URL을 입력한 후 “테스트 서버 연결성” 버튼을 클릭합니다. 오류 메시지가 표시되면 문제를 수정하고 다시 시도해야 합니다. 오류가 없다면 이메일 주소가 정확한지 확인하고 Let’s Encrypt 서비스 약관에 동의한 후 “저장” 버튼을 클릭합니다.
키 생성 및 설치에는 1~2분 정도 소요될 수 있습니다. 완료되면 페이지가 다시 로드되고 사용 가능한 SSL 인증서를 확인할 수 있습니다.
SSL 설정이 완료되었으면 페이지 상단의 “호스트” 탭을 클릭하고, 하위 메뉴에서 “프록시 호스트” 옵션을 클릭합니다.
페이지 오른쪽 상단의 “프록시 호스트 추가” 버튼을 클릭합니다.
새 창이 열리면 도메인 설정을 위한 정보를 입력합니다.
방금 SSL 인증서를 생성한 도메인 또는 하위 도메인(예: monica.yourdomain.com)을 입력합니다.
스키마는 HTTP로 설정합니다.
컨테이너의 IP 주소(Portainer에서 확인 가능)를 입력합니다.
“Forward Port” 입력란에 컨테이너의 내부 포트(이 경우에는 80)를 입력합니다. Portainer에서 컨테이너 정보를 보면 8456이라는 외부 포트가 보일 수 있지만, 여기서는 컨테이너 내부의 포트(콜론 오른쪽에 있는 숫자)를 입력해야 합니다.
“캐시 자산”, “공통 공격 차단”, “웹 소켓 지원” 옵션을 활성화합니다.
이제 팝업 창 상단의 “SSL” 탭으로 이동합니다.
“SSL 인증서” 드롭다운 메뉴에서 이전에 생성한 SSL 인증서를 선택합니다.
하단의 4가지 옵션을 확인하고, Let’s Encrypt TOS에 동의한 후 “저장”을 클릭합니다.
페이지가 다시 로드되면 Nginx Proxy Manager의 프록시 호스트 목록에 새로운 항목이 추가된 것을 확인할 수 있습니다.
첫 로그인
이제 브라우저에서 새 URL(예: https://monica.yourdomain.com)로 이동합니다.
모니카 로그인 페이지가 나타날 것입니다.
등록 양식에 필요한 정보를 입력하고 서비스 약관에 동의한 후 “등록” 버튼을 클릭합니다.
로그인하면 연락처를 추가하거나 가져올 수 있습니다. 하지만 그 전에 오른쪽 상단의 설정 아이콘(톱니바퀴)을 클릭하여 설정을 사용자 정의하는 것이 좋습니다. 특히 화면 왼쪽의 “개인 설정” 탭을 통해 필요한 데이터 필드를 설정할 수 있습니다.
설정은 나중에 언제든지 변경할 수 있으므로, 처음 로그인할 때는 완벽하게 설정하는 것에 너무 신경 쓰지 않아도 됩니다.
연락처 추가 시작
이제 모니카 인스턴스가 성공적으로 실행되었으므로, 일상적인 관계를 효율적으로 관리할 수 있습니다. 기념일, 생일 또는 기타 특별한 이벤트를 기억하고 관리함으로써, 주변 사람들에게 깊은 인상을 남길 수 있습니다.
직접 설치 및 관리가 부담스럽거나 추가 기능이 필요한 경우에는 클라우드 기반 CRM 서비스를 이용해 보는 것도 좋은 선택입니다.