Kimaiで工数管理 (2) Docker composeを利用した導入手順、日本語設定

前回までは下記を参照ください。

https://qiita.com/inakano_ojisan/items/154e36f061edfc8b9d35

Kimaiはいくつか導入方法がありますが、ここでは私が試したDocker composeを利用した導入手順を説明します。

Docker composeを選んだ理由は、導入がとても簡単だからです。

ここでは、Docker上でKimaiを起動しログインし、日本語設定するところまでを説明します。

## サーバのスペック
Kimaiのドキュメントからは見つけきれませんでしたが、一般的にDockerコンテナを動作させる場合、8Gバイト以上のメモリはあったほうが良いと思います。
会社ではAlma Linux上で運用しています。私は家ではMacなのでここではMacを例に記載します。

## Docker Desktop
Docker Engineが導入されていない場合、まずはDockerの導入が必要です。
MacやWindowsの場合、Docker Desktopをインストールするのが最も手軽です。

https://www.docker.com/ja-jp/products/docker-desktop/

Docker Desktopは個人利用であれば無料です。商用利用の場合は有料になる場合がありますので注意してください。

https://www.docker.com/ja-jp/pricing/

Docker Desktopには、Docker Engineのほか、Docker composeもあわせてインストールされますので導入が非常に容易です。

## Docker CE
会社などで利用する場合はDocker CEを利用するのが安心です。
CE=Community Editionといわれるもので、安心して無償利用できるものです。
その代わりとして、導入手順はやや難しく、コマンドラインの知識や、yum/dnf/aptなどのパッケージ管理スキルを要します。

https://docs.docker.com/engine/install/

Docker composeも個別に導入が必要です。

https://docs.docker.com/compose/install/linux/

以降、Macのターミナルを使って作業します。コマンドラインに関する知識が必要になりますのでご了承ください。

Docker Desktopで導入した場合はGUIでも出来ると思います。ただ、私はやったことがないので説明は割愛します。

## Docker compose
下記にdocker composeのサンプルがありますので流用します。「Apache (prod)」を使用します。

https://www.kimai.org/documentation/docker-compose.html

パスワード等はデフォルトから適宜修正してください。

ファイル名は「docker-compose.yaml」で保存します。

## 起動
docker-compose.yamlを保管しているディレクトリから、Kimaiコンテナを起動します。

```console
% docker compose up -d
```

コマンドが戻ってきたら、Kimaiのコンテナが起動したか確かめます。

```console
% docker ps
```

以下のような表示になると思います。エラーっぽい表示がなければOKです。

```log
CONTAINER ID   IMAGE                                COMMAND                   CREATED         STATUS                       PORTS                                                                NAMES
ff75392281a9   kimai/kimai2:apache                  "docker-php-entrypoi…"   2 minutes ago   Up 2 minutes (healthy)       80/tcp, 0.0.0.0:8001->8001/tcp                                       kimai-kimai-1
807f728f1c67   mysql:8.3                            "docker-entrypoint.s…"   2 minutes ago   Up 2 minutes (healthy)       3306/tcp, 33060/tcp                                                  kimai-sqldb-1
```

ブラウザで以下のアドレスを開きます。

```URL
http://localhost:8001
```

以下が表示されると思います。

![スクリーンショット 2024-08-26 19.54.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/202767/1d8040f4-c343-7564-6d20-a3ffa1453738.png)

「docker-compose.yaml」に記載してあるアカウント（ADMINMAILとADMINPASS）でログインします。

Nextを押します。

![スクリーンショット 2024-08-26 19.56.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/202767/385532ec-df05-5b1b-7acb-2d9668c6f355.png)

管理者アカウントの言語とかタイムゾーンを設定します。適宜修正してNextを押します。

![スクリーンショット 2024-08-26 19.57.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/202767/8f7a611d-9afb-0dd0-4d25-d4be73ffbd46.png)

以上で完了です。Nextを押します。

![スクリーンショット 2024-08-26 19.59.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/202767/e0ce659d-d97e-4db3-d746-5678ef5f9192.png)

メイン画面が表示されます。右上がsuperadminになっています。

![スクリーンショット 2024-08-26 20.00.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/202767/095cb6c3-b697-5863-9da3-1a75c419d4aa.png)

## 日本語設定

「システム」→「設定」を押してください。「ユーザー」とか「得意先」という表示が出てきます。

![スクリーンショット 2024-08-26 20.14.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/202767/37762f68-2aa1-5864-d53e-2f5d4644d289.png)

まず「ユーザー」を押します。言語設定やタイムゾーンなどを変更します。通貨は「日本円」にします。最後に「保存する」を押します。デザインはお好みです。
ただ、ここでは、デフォルト値を設定するだけで、後で各ユーザーが自由に変更できます。

![スクリーンショット 2024-08-26 20.07.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/202767/c8eb7b96-8ab3-073c-adb2-04b7870d3833.png)

「得意先」を押します。ここでも言語設定や国、タイムゾーンなどを変更します。通貨は「日本円」にします。最後に「保存する」を押します。
なお、Customer number formatなどは、私の場合は使用していません。

![スクリーンショット 2024-08-26 20.17.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/202767/83ebf729-5244-b180-7996-f93b729f8582.png)

## 次回

LDAPサーバとの連携を説明します。

https://qiita.com/inakano_ojisan/items/6aca61fad452024ceb58