⌘竹内電設.com About

竹内電設.com / POST

CouchDBをVPSにインストールする

{
"title": "CouchDBをVPSにインストールする",
"date": "2023-08-09",
"content": {
},
}

Obsidianのデバイス間の同期にSelf-hosted LiveSyncとCouchDBを組み合わせて使えると聞いたので、CouchDBをインストールしてみた

What's Obsidian

Obsidian - Sharpen your thinking

What's Self-hosted LiveSync

Obsidianのコミュニティプラグイン

Self-hosted LiveSync

What's CouchDB

Apache Software FoudationのWeb公開に最適化されたドキュメント指向のオープンソースデータベースプロジェクト

CouchDB

設定メモ

事前準備

今回はCouchDBをDockerのコンテナとして動かすので、Debian12でDockerを使えるようにするでDockerの環境構築をしておいた

構成ファイルを書く

# mkdir -p /docker/obsidian/couchdb/data
# cd /docker/obsidian
# nano ./couchdb/local.ini
# nano docker-compose.yml

/docker/obsidian/couchdb/local.ini

[couchdb]
single_node=true
max_document_size = 50000000

[chttpd]
require_valid_user = true
max_http_request_size = 4294967296

[chttpd_auth]
require_valid_user = true
authentication_redirect = /_utils/session.html

[httpd]
WWW-Authenticate = Basic realm="couchdb"
enable_cors = true

[cors]
origins = app://obsidian.md,capacitor://localhost,http://localhost
credentials = true
headers = accept, authorization, content-type, origin, referer
methods = GET, PUT, POST, HEAD, DELETE
max_age = 3600

/docker/obsidian/docker-compose.yml

version: "2"
services:
  couchdb:
    image: couchdb
    ports:
      - 5984:5984
    environment:
      COUCHDB_USER: couchdb_user
      COUCHDB_PASSWORD: couchdb_password
    restart: always
    volumes:
      - ./couchdb/local.ini:/opt/couchdb/etc/local.ini
      - ./couchdb/data:/opt/couchdb/data

CouchDBで使うポートを開ける

# nano /etc/ufw/applications.d/ufw-couchdb

/etc/ufw/applications.d/ufw-couchdb

[couchdb]
title=Apache CouchDB
description=Seamless multi-master sync, that scales from Big Data to Mobile, with an Intuitive HTTP/JSON API and designed for Reliability.
ports=5984/tcp

CouchDBを動かす

# ufw allow 'couchdb'
# docker-compose up -d && docker-compose logs -f

ブラウザでアクセスする

http://[VPSに割り当てられたIPアドレス]:5984/_utils#setup へブラウザでアクセスする

ユーザー名とパスワードはdocker-compose.ymlに書いたCOUCHDB_USERとCOUCHDB_PASSWORDを使う

Self-hosted LiveSync用のデータベースを作成する

左側の「Databases」をクリックして、右上の「Create Database」をクリックする
作成するデータベース名を入力して、「Create」ボタンをクリックする