Joplin

Joplinサーバ構築手順

2023年10月18日



Joplinサーバ構築手順

目的

Joplinサーバをローカル環境に構築して、ユーザが作成したノートブックを一括管理する

環境

Joplinサーバ

IP:192.168.9.10

Joplinクライアント

IP:192.168.9.10

参考

https://hub.docker.com/r/joplin/server

https://arimasou16.com/blog/2022/12/01/00484/

手順

1. docker-compose.ymlの作成

ワークディレクトリ配下に作成する
/work/joplin/docker-compose.yml


version: '3'
networks:
  proxy:
    external: true
  joplin:
    driver: bridge

services:
  db:
    image: postgres:13
    volumes:
      - ./data/postgres:/var/lib/postgresql/data
    # ports:
    #   - "5432:5432"
    restart: unless-stopped
    environment:
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - POSTGRES_USER=${POSTGRES_USER}
      - POSTGRES_DB=${POSTGRES_DATABASE}
    networks:
      - joplin
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
  app:
    image: joplin/server:latest
    depends_on:
      - db
    ports:
      - "22300:22300"
    restart: unless-stopped
    environment:
      - APP_PORT=22300
      - APP_BASE_URL=${APP_BASE_URL}
      - DB_CLIENT=pg
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - POSTGRES_DATABASE=${POSTGRES_DATABASE}
      - POSTGRES_USER=${POSTGRES_USER}
      - POSTGRES_PORT=${POSTGRES_PORT}
      - POSTGRES_HOST=localhost
      - MAILER_ENABLED=1
      - MAILER_HOST=${MAILER_HOST}
      - MAILER_PORT=${MAILER_PORT}
      - MAILER_SECURE=1
      - MAILER_AUTH_USER=${MAILER_AUTH_USER}
      - MAILER_AUTH_PASSWORD=${MAILER_AUTH_PASSWORD}
      - MAILER_NOREPLY_NAME=${MAILER_NOREPLY_NAME}
      - MAILER_NOREPLY_EMAIL=${MAILER_NOREPLY_EMAIL}
    networks:
      - proxy
      - joplin
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.joplin.rule=Host(`${TRAEFIK_JOPLIN}`)"
      - "traefik.http.routers.joplin.entrypoints=https"
      - "traefik.http.routers.joplin.tls=true"
      - "com.centurylinklabs.watchtower.enable=true"

2. .envの作成

ワークディレクトリ配下に作成する

/work/joplin/.env


TRAEFIK_JOPLIN=notes.tsukimiya.io

APP_BASE_URL=http://murcijoplin.net:22300
APP_PORT=22300

DB_CLIENT=pg
POSTGRES_PASSWORD=joplin
POSTGRES_DATABASE=joplin
POSTGRES_USER=joplin
POSTGRES_PORT=5432
POSTGRES_HOST=localhost
MAILER_HOST=server01.murcinet.local
MAILER_PORT=25
MAILER_AUTH_USER=admin
MAILER_AUTH_PASSWORD=admin
MAILER_NOREPLY_NAME=admin
MAILER_NOREPLY_EMAIL=admin@murcinet.local

3. docker-compose.ymlを起動する

$ docker-compose up -d

4. nginx設定

nginxをインストールする

$ sudo apt install nginx

5. /etc/nginx/sites-available/murcijoplin.netを作成する


server {
    listen 80;
    listen [::]:80;
    server_name murcijoplin.net;

    location /joplin {
        return 301 http://$server_name$request_uri;
    }
}

server {
    #listen 80 default_server;
    #listen [::]:80 default_server;

    listen 443 ssl default_server;
    listen [::]:443 ssl default_server;

    root /var/www;

    server_name murcijoplin.net;
    ssl_certificate /etc/letsencrypt/live/murcijoplin.net/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/murcijoplin.net/privkey.pem;

    ###
    # joplin
    ###
    location /joplin/ {
        proxy_redirect off;
        rewrite        ^/joplin/(.*)$ /$1 break;
       # proxy_pass     http://127.0.0.1:22300;
        proxy_pass     http://murcijoplin.net:22300;
       # proxy_pass     http://murcijoplin.net:22300/joplin;
       # proxy_pass     http://murcijoplin.net:22300$request_uri;

        proxy_set_header X-Forwarded-Host  $host;
        proxy_set_header Host              $host;
        proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP         $remote_addr;

        access_log     /var/log/nginx/joplin_access.log;
        error_log      /var/log/nginx/joplin_error.log;
        #access_log    off;
    }
}

更に、/etc/nginx/sites-enabled/にシンボリックリンクを貼る

$ sudo ln -s /etc/nginx/sites-available/murcijoplin.net /etc/nginx/sites-enabled/

そして、/etc/nginx/nginx.confを一部更新する


user www-data;

6. mime.typesを作成する

types {
    text/html  html htm;
    text/css   css;
    application/javascript  js;
    image/jpeg  jpeg jpg;
    image/png   png;
    image/gif   gif;
    # 他のMIMEタイプをここに追加
}

7. 正常性確認

ブラウザから「http://murcijoplin.net:22300/」にアクセスする

ログイン画面が表示されること

link

初期アカウントでログイン可能であること

メールアドレス:admin@localhost

パスワード:admin
ログイン後はAdminユーザのパスワード等変更可能

8. ユーザの作成

上部メニュー「Admin」をクリックする

左ペイン「Users」をクリックする

「Add user」からユーザ作成が可能

Joplinクライアントのセットアップ

クライアント端末はUbuntuとする

1. JoplinクライアントからJoplinサーバへ接続するためのツールをwebからダウンロードする

https://j

oplinapp.org/help/#desktop-applications

Linux版をダウンロードする

2. fuseをインストールする

sudo apt install fuse

3. Joplinクライアントを起動

./Joplin-2.12.18.AppImage

4. サーバへの接続

Joplinクライアントの左上にある「File」または「ツール」メニューをクリックする

メニューから「Options」(または「オプション」)を選択

設定ウィンドウの中で、”Sync”(同期)タブを選択

同期先メニューから「Joplin Server (Beta)」(Joplinサーバ)を選択

“Server URL”(サーバのURL)フィールドに、JoplinサーバのURL「http://murcijoplin.net:22300」を入力

設定を保存するために「適用」ボタンをクリックします。

「戻る」を押してノートに戻る

ノートブックを作成して同期をクリックすると、サーバ内に保存される

CATEGORIES & TAGS

Joplin,

Author:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

カテゴリー

むるし

フリーランスのインフラ系エンジニア。
備忘録で色々書いていきます。
お問い合わせは↓
mo-gyu@murci.net
LPIC303 Security
%d人のブロガーが「いいね」をつけました。