docker-composeでコンテナ作成(GitBcket)

Docker Composeを使用してGitBucketコンテナを作成する方法を示す。

### 環境
仮想化：VMware workstation-pro17
ホスト：Windows11pro
ゲスト：ubuntu22.04.3TLS

環境構築時のメモ
[VMでWindowsホストにUbuntuをゲスト起動する](https://qiita.com/38pinn/items/a136ed43457562c8471d)
[dockerコンテナ環境作成](https://qiita.com/38pinn/items/92a65ea162098f7a9859)
[PowerShellを使用してGitBucketにファイルをアップロードする手順](http://...)


### 手順

1. **作業ディレクトリを作成**： GitBucket用のディレクトリを作成し移動。

   ```
   mkdir ~/gitbucket-docker
   cd ~/gitbucket-docker
   ```

2. **`docker-compose.yml`ファイルを作成**： `docker-compose.yml`という名前のファイルを作成し、以下の内容を記述。

   ```
   version: '3.7'
   
   services:
     db:
       image: postgres:latest
       container_name: gitbucket-db
       environment:
         POSTGRES_USER: gitbucket
         POSTGRES_PASSWORD: password
         POSTGRES_DB: gitbucket
       volumes:
         - ./pgdata:/var/lib/postgresql/data
       restart: always
   
     gitbucket:
       image: gitbucket/gitbucket:latest
       container_name: gitbucket
       ports:
         - "8181:8080"
         - "29418:29418"
       volumes:
         - ./gitbucket:/gitbucket
       environment:
         DATABASE_URL: jdbc:postgresql://db:5432/gitbucket
         JDBC_DRIVER: org.postgresql.Driver
         JDBC_USER: gitbucket
         JDBC_PASSWORD: password
       depends_on:
         - db
       restart: always
   ```

3. **Docker Composeを使ってGitBucketを起動**： 作成した`docker-compose.yml`ファイルがあるディレクトリで以下のコマンドを実行する。

   ```
   docker-compose up -d
   ```

4. **GitBucketにアクセス**： ブラウザを開き、`http://<ホストのIPアドレス>:8181`にアクセスする。


### アクセス画面の右上のSign inから管理者としてアクセスする。
GitBucketのインストール直後のデフォルト管理者アカウント。
ユーザー名: root
パスワード: root
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/340841/cc54e6be-5ccd-f30c-2023-2c700a555a83.png)

### パスワード変更手順

1. **管理者としてログイン**： `root`ユーザー名と`root`パスワードでGitBucketにログインする。
2. **プロフィールページに移動**： 右上のプロフィールアイコンをクリックし、「プロフィール（Profile）」を選択。
3. **パスワード変更**： 「パスワードを変更（Change Password）」セクションで、新しいパスワードを入力。
4. **変更を保存**： 「変更を保存（Save Changes）」ボタンをクリックして、新しいパスワードを保存。

### ユーザーの追加方法

1. **管理者としてログイン**： 管理者アカウントでGitBucketにログインします。
2. **管理ページに移動**： 右上のプロフィールアイコンをクリックし、「システム管理（System Administration）」を選択します。
3. **ユーザー管理ページに移動**： 左側のメニューから「ユーザー管理（User Management）」を選択します。
4. **新しいユーザーを追加**： 「新しいユーザー（New User）」ボタンをクリックします。
5. **ユーザー情報を入力**： 新しいユーザーの情報を入力します。必要な情報は以下の通り。
   - ユーザー名（Username）
   - メールアドレス（Email Address）
   - フルネーム（Full Name）
   - パスワード（Password）
6. **ユーザーを作成**： 情報を入力したら、「作成（Create）」ボタンをクリックして新しいユーザーを作成。

### グループの追加方法
1. **管理者としてログイン**： 管理者アカウントでGitBucketにログイン。
2. **管理ページに移動**： 右上のプロフィールアイコンをクリックし、「システム管理（System Administration）」を選択。
3. **グループ管理ページに移動**： 左側のメニューから「グループ管理（Group Management）」を選択。
4. **新しいグループを追加**： 「新しいグループ（New Group）」ボタンをクリック。
5. **グループ情報を入力**： 新しいグループの情報を入力します。必要な情報は以下の通り。
   - グループ名（Group Name）
   - グループID（Group ID）
   - 説明（Description） - オプション
   - メンバー（Members）
6. **グループを作成**： 情報を入力したら、「作成（Create）」ボタンをクリックして新しいグループを作成する。


### リポジトリの作成方法

1. **ログイン**： GitBucketにログイン。
2. **リポジトリ作成ページに移動**： 右上の「+」アイコンをクリックし、「新しいリポジトリ（New Repository）」を選択。
3. **リポジトリ情報を入力**： リポジトリの情報を入力します。必要な情報は以下の通り。
   - 名前（Repository Name）：`CBrepo`
   - 説明（Description）：任意でリポジトリの説明を入力。
   - アクセスレベル（Access Level）：公開（Public）かプライベート（Private）を選択。
4. **リポジトリを作成**： 情報を入力したら、「作成（Create）」ボタンをクリックして新しいリポジトリを作成する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/340841/a89c7e8a-6bd0-e127-21a4-55df15d40a32.png)


#### 1. Create an empty repository

- **意味**：空のリポジトリを作成する。初期状態ではファイルやコミットが一切含まれない。

#### 2. Initialize this repository with an empty commit

- **意味**：空のコミット（内容がない初期コミット）が含まれたリポジトリを作成する。リポジトリをすぐにクローンできるようなる。

#### 3. Initialize this repository with a README

- **意味**：`README.md`ファイルが含まれたリポジトリを作成する。
- **用途**：リポジトリの基本情報や説明を提供したい場合に便利です。初期コミットとしてREADMEファイルが含まれているため、リポジトリが初期化された状態になる。

#### 4. Copy existing git repository

- **意味**：既存のGitリポジトリをクローンして新しいリポジトリを作成する。元のリポジトリのすべてのコミット履歴がコピーされる。