はじめに
最近は AI エージェントにさまざまなタスクを任せる機会が増えてきました。特にコード管理や CI/CD の分野では、Git ツールがエージェントと組み合わせて活用されるケースが増えています。 そこで今回はホームサーバーに自分専用の GitLab CE を構築しました。本記事ではその手順をまとめます。
前提として、Proxmox VE 自体のインストールは済んでいることとします。 インストール手順については こちらの Qiita 記事 や こちらの YouTube 動画 が参考になります。
手順
1. 仮想マシンの作成
Proxmox VE の管理画面から新しい仮想マシンを作成します。 OS として Ubuntu Server 24.04 LTS の ISO イメージをマウントし、インストールを進めます。 ネットワーク設定は DHCP で自動取得する形で問題ありません。
仮想マシンのスペック
| 項目 | 内容 |
|---|---|
| ゲスト OS | Ubuntu Server 24.04 LTS |
| CPU | 1 コア |
| メモリ | 4 GB |
| ストレージ | 64 GB |
2. Docker と Docker Compose のインストール
公式ドキュメント(https://docs.docker.com/engine/install/ubuntu/)を参考に、Docker をインストールします。
まず、GPG キーとリポジトリを追加します。
# 必要なパッケージのインストール
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Docker の apt リポジトリを追加
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
続いて、Docker Engine と Docker Compose プラグインをインストールします。
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo なしで docker コマンドを実行できるよう、ユーザーを docker グループに追加します。
sudo usermod -aG docker $USER
newgrp docker
3. SSH ポートの変更
GitLab コンテナはポート 22 を使用してgit操作を行います。そのため、サーバー自体の SSH ポートを変更しておく必要があります。
sudo sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config
sudo systemctl daemon-reload
sudo systemctl restart sshd
注意:SSH ポートを変更すると、次回以降の接続には
-p 2222の指定が必要になります。設定後は切断前にポート2222での接続を確認することをお勧めします。
4. GitLab 用ディレクトリの作成
GitLab のデータ永続化先となるディレクトリを作成します。
sudo mkdir -p /srv/gitlab
環境変数 GITLAB_HOME にこのパスを設定しておくと、後述の Compose ファイルと対応させやすくなります。
echo "export GITLAB_HOME=/srv/gitlab" >> ~/.bashrc
source ~/.bashrc
5. Docker Compose ファイルの作成
以下の内容で docker-compose.yml を作成します。
services:
gitlab:
image: gitlab/gitlab-ce:18.8.7-ce.0
container_name: gitlab
restart: always
hostname: 'your-gitlab-domain.com' # 実際のドメインまたは IP に置き換える
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- '$GITLAB_HOME/config:/etc/gitlab'
- '$GITLAB_HOME/logs:/var/log/gitlab'
- '$GITLAB_HOME/data:/var/opt/gitlab'
shm_size: '256m'
6. GitLab コンテナの起動
Compose ファイルを保存したディレクトリで以下のコマンドを実行します。
docker compose up -d
初回起動時はセットアップに数分かかります。
7. 初期パスワードの確認とログイン
コンテナが起動したら、ブラウザで http://<サーバーの IP アドレス> にアクセスします。 初期パスワードは以下のコマンドで確認できます。
docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
表示されたパスワードで root ユーザーとしてログインし、パスワードを変更します。
まとめ
Proxmox VE 上に Docker を使って GitLab CE を構築する手順をまとめました。 これで自分専用の Git リポジトリ環境が整いました。今後は CI/CD の設定や AI エージェントとの連携などを試していきたいと思います。


コメント