メモ探しは沼になりますね。MemosやSimplenoteを試していますが、もう少しだけ高機能なものを探してみたところ、Docmostの名前が出てきたので入れてみました。
ステップ1: ディレクトリを作成してdocker-compose.ymlをダウンロード
以下のコマンドでDocmost用ディレクトリを作成し、Docker Composeファイルをダウンロードします。
mkdir docmost
cd docmost
curl -O https://raw.githubusercontent.com/docmost/docmost/main/docker-compose.yml
ステップ2: 環境変数を設定
ダウンロードした docker-compose.yml を開いて以下を設定するのですが、設定内でセキュアキーを登録する必要があるので、先にセキュアキーを生成してコピーしておきます。
openssl rand -hex 32
続いて、編集します。
nano docker-compose.yml
主要な設定項目:
APP_URL: ドメインまたはローカルIPとポート(例:http://localhost:3000)APP_SECRET:openssl rand -hex 32で生成するセキュアキー(空のままだと起動失敗)DATABASE_URL: PostgreSQL接続文字列REDIS_URL: Redis接続文字列
ステップ3: コンテナを起動
コンテナを起動します。
docker compose up -d
起動すると docmost、db(PostgreSQL)、redis の3つのコンテナが立ち上がります。
ステップ4: ブラウザでアクセス
http://localhost:3000 にアクセスすると、ワークスペースのセットアップ画面が表示されます。
ワークスペース名は後から変更出来ないのでよく考えて。

動作は軽快ですね。シンプルな見た目も好みです。複数人での編集に向いていますね。ただ、検索が弱いですね。

アップデート方法
以下のコマンドで最新版に更新できます:
docker pull docmost/docmost:latest
docker compose up --force-recreate --build docmost -d
おまけ 1クリックで実行
mkdir -p docmost && cd docmost && \
APP_SECRET=$(openssl rand -hex 32) && \
DB_PASSWORD=$(openssl rand -hex 16) && \
cat > docker-compose.yml << EOF
services:
docmost:
image: docmost/docmost:latest
depends_on:
- db
- redis
environment:
APP_URL: "http://localhost:3000"
APP_SECRET: "${APP_SECRET}"
DATABASE_URL: "postgresql://docmost:${DB_PASSWORD}@db:5432/docmost?schema=public"
REDIS_URL: "redis://redis:6379"
ports:
- "3000:3000"
restart: unless-stopped
volumes:
- ./docmost:/app/data/storage
db:
image: postgres:16-alpine
environment:
POSTGRES_DB: docmost
POSTGRES_USER: docmost
POSTGRES_PASSWORD: "${DB_PASSWORD}"
restart: unless-stopped
volumes:
- ./db_data:/var/lib/postgresql/data
redis:
image: redis:7.2-alpine
restart: unless-stopped
volumes:
- ./redis_data:/data
EOF
docker compose up -d
