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

profile
달소

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

오늘도 새로운 아이템을 들고왔습니다 ㅎㅎ 블랙앤해적  님께서 소개해주신 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

https://github.com/laurent22/joplin/blob/dev/docker-compose.server.yml

Joplin - an open source note taking and to-do application with synchronization capabilities for Windo...

컨테이너 생성 및 사용하기

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

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쪽만 변경하시면 되니 참고하시면되겠습니다

서버포럼 관리자입니다.!

서버포럼은 홈서버로 운영중이며 아래와같은 시스템으로 운영됩니다.

 

메인서버 - Ryzen 5700G / Proxmox 7.2 / Ubuntu / Xpenology / 기타 VM 등등

보조서버 - Intel i9-9900ES(QQC0) / H370M / Proxmox 7.1 / 아직개발용서버로 사용중
백업서버 - 타오나스 A형(?) / DS918+ 6.2.3 / 메인서버 VM 백업용

 

하드웨어,가상화 등등 여러 IT분야에 관심이 두루두루많습니다만 깊게알고있는건 없습니다 하하하

 

 

적용중인 도장이 없습니다.

* 가입일 : 2020-12-24
* 총 게시글 수 : 6571
* 총 댓글 수 : 19929
* 추천받은 게시글 개수 : 2559
* 추천받은 댓글 개수 : 3201
댓글
5
  • 테츠
    2022.04.05

    joplin 한번 사용해보고 싶은데 DB 셋팅을 잘 몰라서 질문 드립니다.

     

    "DB PW나 BASE_URL등을 입맛에 맞게 수정하시면되겠습니다" 라고 설명해 주셨는데

     

    environment:

    - POSTGRES_PASSWORD=1234

    - POSTGRES_USER=test

    - POSTGRES_DB=joplin

     

    위와 같이 DB 정보 입력하면, 해당 정보의 postgres DB를 생성까지 해주는건가요?

    아니면 해당 DB가 생성되어 test/1234 계정까지 만들어져 있어야 해당 DB 정보로 데이터가 읽기/쓰기가 가능한게 맞는건가요?

     

    질문의 요지는...

    joplin 컨테이너 설치시 DB 까지 자동으로 만들어지는건지...

    아니면 미리 만들어 놓은 DB가 있고, 해당 DB 정보를 넣어줘야 하는지...

    궁금합니다.

     

  • 테츠
    달소
    작성자
    2022.04.05
    @테츠 님에게 보내는 답글

    위 docker-compose.yml로 조플린컨테이너를 설치하신다면 자동으로 postgres db도 생성됩니다.

    내용에 service 쪽 db: 이건 db컨테이너를 별도로 생성한다는것이고 app은 joplin 앱을 생성하는것입니다.

    위아래 설정만같으면 문제없으실듯하네요

  • 써드아이
    2022.07.11

    저는 설치하니까 조플린 컨테이너에서 exec /usr/local/bin/tini: exec format error 라며 에러를 뿜어내며 재시작 하네요.. ㅠㅠ

  • 써드아이
    2022.07.12

    멍하니 에러 메세지를 보고있자니... 문득 떠오르는게 있네요...

    아... 내 머신은 arm cpu지.. ㅡㅡ;;

     

    죄송합니다...

  • 써드아이
    달소
    작성자
    2022.07.12
    @써드아이 님에게 보내는 답글

    헉.. 이걸 늦게봤네요 ㅠㅠ 트러블슈팅하시느라 고생하셨겠습니다..

댓글 쓰기
권한이 없습니다.