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からダウンロードする
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」を入力
設定を保存するために「適用」ボタンをクリックします。
「戻る」を押してノートに戻る
ノートブックを作成して同期をクリックすると、サーバ内に保存される