ProxmoxにGitLab CEをインストールする

ホームサーバー

はじめに

最近は AI エージェントにさまざまなタスクを任せる機会が増えてきました。特にコード管理や CI/CD の分野では、Git ツールがエージェントと組み合わせて活用されるケースが増えています。 そこで今回はホームサーバーに自分専用の GitLab CE を構築しました。本記事ではその手順をまとめます。

前提として、Proxmox VE 自体のインストールは済んでいることとします。 インストール手順については こちらの Qiita 記事こちらの YouTube 動画 が参考になります。

手順

1. 仮想マシンの作成

Proxmox VE の管理画面から新しい仮想マシンを作成します。 OS として Ubuntu Server 24.04 LTS の ISO イメージをマウントし、インストールを進めます。 ネットワーク設定は DHCP で自動取得する形で問題ありません。

仮想マシンのスペック

項目内容
ゲスト OSUbuntu Server 24.04 LTS
CPU1 コア
メモリ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 エージェントとの連携などを試していきたいと思います。

コメント

タイトルとURLをコピーしました