「Knowledge」とは、QiitaのようにMarkdownで記事を書いたり、開発情報の共有ができるサービスとなります。
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に接続されるようになります。
一旦は構築は以上となります。
あとは社員ごとにアカウントを作成して、必要な記事を作成していきましょう!