Mac

Mac + dockerで「Knowledge」を構築する

「Knowledge」とは、QiitaのようにMarkdownで記事を書いたり、開発情報の共有ができるサービスとなります。

https://information-knowledge.support-project.org/ja

Qiitaだと公開範囲が全域となったり、無駄にポエムの入った残念な記事も多いですが、公開範囲を限定して必要な情報だけをまとめたりできます。
今回はMac環境での構築となります。

0.環境

  • MacBook Mini M4
  • MacOS Ventura 13.6
  • Docker Desktop 4.24.0
  • Docker Compose 2.20.2

1. docker-compose.ymlの作成

docker-compose.ymlを以下のように作成します。

services:
  # knowledge
  knowledge:
    image: koda/docker-knowledge:japanese
    platform: linux/amd64
    volumes:
      - ./knowledge:/root/.knowledge
    expose:
      - 8080
      - 8443
    ports:
      - 8082:8080
    restart: always
    depends_on:
      - knowledgedb
    networks:
      - default

  # Postgresql for knowledge
  knowledgedb:
    image: postgres:12
    container_name: knowledgedb
    hostname: knowledgedb
    ports:
      - 54321:5432
    restart: always
    environment:
      - POSTGRES_DB=knowledge
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=passowrd
      - POSTGRES_INITDB_ARGS=--encoding=UTF-8
      - PGTZ=Asia/Tokyo
    volumes:
      - ./knowledge_db/postgres/init:/docker-entrypoint-initdb.d
      - ./knowledge_db/postgres/data:/var/lib/postgresql/data/
    networks:
      - default

2. docker-composeの起動

以下のコマンドでサクッと起動しましょう。

docker-compose up -d

3. 確認

以下のURLにアクセスして、Knowledgeが起動しているか確認します。

http://localhost:8082/

初期ログインのユーザ名とパスワードは以下の通りです。

  • ユーザ名:admin
  • パスワード:admin123

4. データベースの設定と初期化

現状はSQLiteDBを使用しているので、PostgreSQLに変更します。
まず上記の管理者でログイン後に上のメニューから「システム設定」を選択します。
システム管理のメニューから「データベースの接続先変更」を選択して以下の画面を表示します。

上記の各情報は以下となります。

  • URL: jdbc:postgresql://knowledgedb/knowledge
  • user: postgres
  • password: password
  • schema: public
  • max connection: 0
  • auto commit: false

上記は例となりますが、URLはdocker-composeで構築したDBへのアクセスとなります。
これでdockerで構築したPostgreSQLに接続されるようになります。

一旦は構築は以上となります。
あとは社員ごとにアカウントを作成して、必要な記事を作成していきましょう!