0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

一人アドカレ 17日目: Docmostの紹介

Posted at

イントロ

NotionのようなUIでノートや図を作成し、それをセルフホスティングしたいと思ったことはありませんか?

そんなあなたへDocmost

テキストやヘッダー、リストといったNotionのようなドキュメントの作成も可能ですし、mermaid, draw.io, Excalidrawなどの図も描けます。YouTubeやGoogle Driveといったembedも対応しています。

Docmostの使い方

環境情報
$ docker version
Client: Docker Engine - Community
 Version:           29.1.3
 API version:       1.52
 Go version:        go1.25.5
 Git commit:        f52814d
 Built:             Fri Dec 12 14:49:51 2025
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          29.1.3
  API version:      1.52 (minimum version 1.44)
  Go version:       go1.25.5
  Git commit:        fbf3ed2
  Built:            Fri Dec 12 14:49:51 2025
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v2.2.0
  GitCommit:        1c4457e00facac03ce1d75f7b6777a7a851e5c41
 runc:
  Version:          1.3.4
  GitCommit:        v1.3.4-0-gd6d73eb8
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

前提条件

  • Docker がインストールされていること
  • Traefik が導入されていること(リバースプロキシサーバー)

手順

  1. compose.ymlを作成します

    domain.tldはあなたのドメインに置き換えてください。

    compose.yml
    services:
      docmost:
        image: docmost/docmost:latest
        container_name: docmost
        depends_on:
          - db
          - redis
        environment:
          APP_URL: 'https://docmost.domain.tld'
          APP_SECRET: ${DOCMOST_APP_SECRET:-changeme}
          DATABASE_URL: 'postgresql://${POSTGRES_USER:-docmost}:${POSTGRES_PASSWORD:-}@db:5432/docmost'
          REDIS_URL: 'redis://redis:6379'
        expose:
          - 3000
        restart: unless-stopped
        volumes:
          - ./docmost:/app/data/storage
        labels:
          traefik.enable: true
          traefik.host: docmost
          traefik.http.services.docmost.loadbalancer.server.port: 3000
          traefik.http.routers.docmost.entrypoints: websecure
          traefik.http.routers.docmost.tls: true
          traefik.http.routers.docmost.tls.certResolver: cloudflare
          traefik.docker.network: traefik-network
          glance.name: docmost
          glance.icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/docmost.png
          glance.url: https://docmost.domain.tld/
          glance.description: Document tool
          glance.id: docmost
        networks:
          - traefik-network
          - default
    
      db:
        image: postgres:16-alpine
        container_name: docmost-db
        environment:
          POSTGRES_DB: docmost
          POSTGRES_USER: ${POSTGRES_USER:-docmost}
          POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-}
        restart: unless-stopped
        labels:
          glance.parent: docmost
          glance.name: PostgreSQL
        volumes:
          - ./db_data:/var/lib/postgresql/data
        networks:
          - default
          - postgres-backup-network
    
      redis:
        image: redis:7.2-alpine
        container_name: docmost-redis
        restart: unless-stopped
        labels:
          glance.parent: docmost
          glance.name: Redis
        volumes:
          - ./redis_data:/data
    
    networks:
      default:
      traefik-network:
        external: true
      postgres-backup-network:
        external: true
    
  2. .envを作成します

    POSTGRES_USER=your_db_user
    POSTGRES_PASSWORD=your_db_password
    DOCMOST_APP_SECRET=your_app_secret
    
  3. Docker Composeで起動します

    docker compose up -d
    

Docmostの感想

  • 良いところ
    • NotionライクなUIで好む人は好き
    • 多数の図形ツールに対応
    • URL用のslugを自由に設定可能
    • リアルタイム編集対応
    • (今回の構成には入れていない)
      • ファイルのアップロード先としてs3互換ストレージを指定可能
      • AIの利用も可能
  • イマイチなところ
    • Enterprise版でなければOIDC/SAML/LDAPは使えない
      • ローカル認証のみ

以上、Docmostの紹介でした!
Enterprise版でなければ使えない機能も一部ありますが、コミュニティ版でも十分に使える範囲です。
AIによるベクトル検索にも対応しているので、自宅でのドキュメント管理はこれで管理するのもありかもしれません。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?