Docker를 이용한 오픈소스 구축형 노트앱 Joplin 구축하기.

Docker를 이용한 오픈소스 구축형 노트앱 Joplin 구축하기.

안녕하세요. 달소입니다.

오늘도 새로운 아이템을 들고왔습니다 ㅎㅎ @블랙앤해적 님께서 소개해주신 Docker-compose 파일에 있었는데 꽤나 흥미로워서 한번 도커를 통해 구축 체험/소개까지 진행해보겠습니다.

찾아보니 조플린 프로젝트가 구글 썸머코드에도 참가하고 꾸준히 개발되어 더 좋은듯합니다.
초반 버전에 비해 플러그인등이 추가되면서 편의기능도 많이 좋아졌구요.

상용 에버노트나 원 노트가 질리신분들께 조심스레 추천해봅니다

Joplin 이란?

Joplin 은 Unix 계열 ( macOS 및 Linux 포함 )과 Microsoft Windows 운영 체제, iOS , Android 및 Linux/Windows 터미널용 으로 작성된 무료 오픈 소스 데스크톱 및 모바일 메모 응용 프로그램입니다 . [2] Electron 을 사용한 자바스크립트 Joplin의 워크플로와 기능 세트는 Evernote 와 가장 많이 비교됩니다 . - 위키백과

에버노트의경우 꽤 무거운점과 유료의 불편한점이 있다면 조플린의 경우 무료 오픈소스로 사용할 수 있고 크로스플랫폼을 모두 지원하여 어느곳에서나 사용할 수 있다는 장점이 존재합니다.

기능

대표적인 기능은 아래와같습니다.

마크다운이 아마 조금 생소하실텐데요. 위 소개사진에 보시듯 화면이 두편으로 나뉘어져있지만 각각의 형태가 다른것이 보이실겁니다.

마크다운에디터를 사용하면 일반적으로 우리사 사용하는 위지윅 에디터와는 다른 문법을 사용하며 실제로 표시될때는 우측처럼 표시되는 것이지요.
물론 Joplin은 익숙한 위지윅 에디터도 지원하니 편하신대로 사용하시면 되겠습니다.

자세한 설명은 나무위키를 참고하시면 되겠습니다 https://namu.wiki/w/마크다운

  • 마크다운 형식 의 메모
  • 마크다운 확장 플러그인
  • 일반 텍스트 파일에 저장
  • 선택적 클라이언트 측 암호화
  • 노트북 및 하위 노트북의 구성
  • 태깅 시스템
  • "오프라인 우선", 메모는 항상 로컬에서 액세스할 수 있으며 요청 시 동기화 가능
  • Joplin Cloud, Nextcloud , Dropbox , OneDrive , WebDAV 또는 (네트워크로 연결된) 파일 시스템 과의 메모 동기화

설명은 사실 이정도면 될듯하니 도커를 이용하여 직접 설치해보겠습니다.

설치환경

Ubuntu 20.04 LTS
Docker + Docker-compose

joplin/docker-compose.server.yml at dev · laurent22/joplin
Joplin - an open source note taking and to-do application with synchronization capabilities for Windows, macOS, Linux, Android and iOS. Forum: https://discourse.joplinapp.org/ - joplin/docker-compo...

컨테이너 생성 및 사용하기

컨테이너 생성전에 미리디렉터리 및 사전준비를 진행하겠습니다.

mkdir -p /data/joplin/
cd /data/joplin
vi docker-compose.yml

아래에서 DB PW나 BASE_URL등을 입맛에 맞게 수정하시면되겠습니다.

version: '3'

services:
    db:
        image: postgres:13.4
        volumes:
            - ./data/postgres:/var/lib/postgresql/data
        ports:
            - "5432:5432"
        restart: unless-stopped
        environment:
            - POSTGRES_PASSWORD=joplin
            - POSTGRES_USER=joplin
            - POSTGRES_DB=joplin
            - TZ=Asia/Seoul
    app:
        image: joplin/server:latest
        depends_on:
            - db
        ports:
            - "22300:22300"
        restart: unless-stopped
        environment:
            - APP_PORT=22300
            - APP_BASE_URL=http://192.168.1.60:22300
            - DB_CLIENT=pg
            - POSTGRES_PASSWORD=joplin
            - POSTGRES_DATABASE=joplin
            - POSTGRES_USER=joplin
            - POSTGRES_PORT=5432
            - POSTGRES_HOST=db
            - TZ=Asia/Seoul

docker compose up -d 명령어로 컨테이너를 생성합니다.

컨테이너 생성이 완료되었으면 ip:22300 포트로 접근해주세요.

기본 id /pw 는 admin@localhost / admin 입니다

로그인후에는 admin계정으로 계정과 pw를 모두 변경해줍니다.

https://joplinapp.org/download/

윈도우용 조플린 앱을 설치해봅니다.

 설치 후 가볍게 도구 -> 옵션에서 한국어 설정부터..

조플린 서버와 동기화하기

이제 어플리케이션과 아까만든 서버와의 동기화 단계입니다.

파일 -> 동기화 or Ctrl+S 명령어로 동기화를 눌러줍니다.

아래처럼 화면이 나오실텐데 아래에 Self-hosting이면 아래 사각형을 클릭해주세요.

그다음 동기화 대상을 아래처럼 Joplin Server (Beta)로 변경해주고
Base URL으로 작성했던 URL로 입력해주세요.

계정명은 아까 변경했던거대로 하시고 저장하시면 완료입니다.

동기화 테스트하기

Ctrl+s를 누르시면 좌측하단에 동기화가 이뤄지며 아래처처럼 성공/실패가 나옵니다.

웹에서도 아래처럼 동기화된 항목들을 확인할 수 있습니다.

끝입니다 ㅎㅎ

제대로 사용하기위해서는

리버스프록시를 이용해서 도메인을 할당해주고 동기화  Base URL쪽만 변경하시면 되니 참고하시면되겠습니다