gitlabを19.2.1にしてローカルでちょこっと動かしてみようかなと
Intel Mac(メモリ 64GB / Core i5)上で、Docker を使って GitLab EE 19.2.1 をローカル環境に立ち上げる完全手順です。
準備するもの・要件確認
| 項目 | 設定内容 |
| 動作環境 | Intel Mac(macOS) / メモリ 64GB |
| GitLab バージョン | gitlab/gitlab-ee:19.2.1-ee.0(EE版) |
| Docker割当メモリ | 8.00 GB(必要に応じて 16GB まで拡大可) |
| Docker割当 CPU | 2 〜 3 CPU |
| Webアクセス用URL | http://localhost:8929 |
| SSHアクセス用ポート | 2222(例: git clone ssh://git@localhost:2222/...) |
OrbStack(オーブスタック) を使われるのは非常に素晴らしい選択です!
特に Mac での開発(Xcode でのアプリ開発や静的サイト開発など)を行っている場合、Docker Desktop から OrbStack に変えるだけで「Mac が重くならない・バッテリーが減らない・起動が数秒」という圧倒的な快適さを実感できます。
1. OrbStack のここがすごい!(Docker Desktop との比較)
- 起動が「一瞬(約2秒)」
- Docker Desktop は起動に10〜20秒ほどかかりますが、OrbStack は開いた瞬間に使えます。
- メモリ・CPU 消費が圧倒的に少ない
- 使っていない時は自動で CPU 使用率を 0% に落としてくれるため、Mac のファンが回ったり熱くなったりしません。
- コマンドや設定はそのまま完全互換
- これまで説明した
docker compose up -dやdocker compose downなどのコマンド、docker-compose.ymlファイルは何ひとつ変えずにそのまま使えます。
- これまで説明した
2. 導入方法(簡単な 3 ステップ)
STEP 1: インストール
公式サイトからダウンロードするか、Homebrew でインストールします。
- 公式サイトから: https://orbstack.dev/ にアクセスし、「Download for Mac」をクリックしてインストール。
brew install orbstack
$ brew install orbstack ==> Fetching downloads for: orbstack
STEP 2: 初期セットアップ
- インストールした OrbStack アプリを起動します。
- 画面の指示に従ってセットアップを進めます(数クリックで完了します)。
- ※もしすでに Docker Desktop が入っている場合は、OrbStack が「Docker Desktop から設定を引き継ぎますか?」や「Docker コマンドの向き先を OrbStack に切り替えますか?」と聞いてくるので、許可(OK)を押します。
STEP 3: 動作確認
ターミナルを開いて、以下のコマンドを叩いてみます。
Bash
% docker context ls NAME DESCRIPTION DOCKER ENDPOINT ERROR default Current DOCKER_HOST based configuration unix:///var/run/docker.sock orbstack * OrbStack unix:///Users/junichi/.orbstack/run/docker.sock
出力結果の中で orbstack に *(チェック)がついていれば、準備完了です!
3. 実際の使い方はどう変わる?
「何も変わりません」 のでご安心ください!
先ほど解説した WordPress や GitLab の操作も、今まで通りターミナルでそのまま実行できます。
- 起動するとき:
docker compose up -d - 停止するとき:
docker compose down - GitLab のバックアップ復元:
docker compose exec gitlab gitlab-backup restore BACKUP=...
注意点(1つだけ)
- 個人利用や小規模利用は無料ですが、大企業(従業員数や売上規模が大きい会社)での商業利用のみ有料ライセンスが必要になります。個人開発や一般的な利用であれば無料で使えます。
Mac のリソースを圧迫しない環境を作るには間違いなく OrbStack が現時点で Mac 最強の選択肢 ですので、ぜひ試してみてください!
( docker desktopを使う場合 : Docker Desktop の準備とメモリ設定
すでに Docker Desktop をお持ちの場合は「2. メモリ割当設定」へお進みください。
- Docker Desktop for Mac (Intel) の入手
- Docker 公式サイト から 「Mac with Intel chip」 用の DMG ファイルをダウンロードしてインストールします。
- Docker アプリを起動
- アプリケーションから Docker を開き、メニューバーにクジラマーク 🐳 が固定表示されるまで待ちます。
- リソース(メモリ・CPU)の設定
- メニューバーの ⚙️(歯車アイコン)➔ Settings ➔ Resources(または Virtualization)を開きます。
- 以下のように調整して、右下の 「Apply & restart」 をクリックします。
- Memory:
8.00 GB - CPUs:
2または3 - Swap:
1.00 GB
- Memory:
STEP 2: 作業用フォルダと設定ファイルの作成
ターミナル(Mac 標準アプリ)を開き、以下のコマンドブロックを 上から順に丸ごとコピペ して実行します。
1. フォルダの作成と移動
Bash
mkdir -p ~/gitlab-local cd ~/gitlab-local
2. docker-compose.yml の作成
EE版 19.2.1 に固定し、メモリ節約・軽量化設定を組み込んだ構成ファイルを作成します。以下のコマンドをそのまま実行してください。
Bash
cat << 'EOF' > docker-compose.yml
services:
gitlab:
image: 'gitlab/gitlab-ee:19.2.1-ee.0'
container_name: 'gitlab-local'
restart: always
hostname: 'gitlab.local'
ports:
- '8980:80'
- '8922:22'
environment:
GITLAB_OMNIBUS_CONFIG: |
# 1. 外部URL設定
external_url 'http://gitlab.local'
gitlab_rails['gitlab_shell_ssh_port'] = 8922
# 2. メモリ節約(監視・不要サービスの停止)
prometheus['enable'] = false
grafana['enable'] = false
gitlab_exporter['enable'] = false
alertmanager['enable'] = false
node_exporter['enable'] = false
redis_exporter['enable'] = false
postgres_exporter['enable'] = false
gitlab_kas['enable'] = false
registry['enable'] = false
# 3. 性能最適化(ローカル/8GB用)
puma['worker_processes'] = 2
sidekiq['max_concurrency'] = 10
volumes:
# データの保存先(MacのFinderから ~/gitlab-data で確認可能)
- '$HOME/gitlab-data/config:/etc/gitlab'
- '$HOME/gitlab-data/logs:/var/log/gitlab'
- '$HOME/gitlab-data/data:/var/opt/gitlab'
shm_size: '256m'
EOF
STEP 3: GitLab EE の起動
フォルダ内に docker-compose.yml がある状態(cd ~/gitlab-local の位置)で、以下の起動コマンドを実行します。
Bash
% docker compose up -d [+] up 6/10 ⠙ Image gitlab/gitlab-ee:19.2.1-ee.0 [⠀⣿⣷⣿⣷⣿⣿⣿⣿] 93.33MB / 1.505GB Pulling [+] up 12/12 ✔ Image gitlab/gitlab-ee:19.2.1-ee.0 Pulled 609.8s ✔ Network gitlab-local_default Created 0.2s ✔ Container gitlab-local Started
- 初回実行時は、
gitlab-ee:19.2.1-ee.0のイメージデータ(約 2〜3GB)が自動的にダウンロードされます。
STEP 4: 初回ログインとパスワード確認
docker compose up -d 実行直後は、裏で PostgreSQL や GitLab の初期化処理が行われています。
- 3 〜 5 分待機する
- コマンド実行直後にブラウザで開くと
502 Bad Gatewayと表示されますが、異常ではありません。バックグラウンドの初期化が終わるまで 3〜5 分ほどお待ちください。
- コマンド実行直後にブラウザで開くと
- ブラウザでアクセス
- Chrome や Safari で
http://gitlab.local:8980を開きます。 - ログイン画面が表示されれば準備完了です。
- Chrome や Safari で
- 初期
rootパスワードの確認- ターミナルで以下のコマンドを実行すると、自動生成されたパスワードが表示されます。
docker exec -it gitlab-local cat /etc/gitlab/initial_root_password - ログイン情報:
- ユーザー名:
root - パスワード: (上記コマンドで出力された文字列)
- ユーザー名:
- ターミナルで以下のコマンドを実行すると、自動生成されたパスワードが表示されます。
注意: 初期パスワードは 24 時間で自動削除されるため、初回ログイン後すぐに画面右上のアイコン ➔ Edit profile ➔ Password からご自身のパスワードに変更してください。
状態
% docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 678ecd9e123c gitlab/gitlab-ee:19.2.1-ee.0 "/assets/init-contai…" 9 seconds ago Up 8 seconds (health: starting) 443/tcp, 0.0.0.0:8922->22/tcp, [::]:8922->22/tcp, 0.0.0.0:8980->80/tcp, [::]:8980->80/tcp gitlab-local
% docker compose logs -f gitlab gitlab-local | [execute] Skipping Topology Service health check due to the cell being disabled gitlab-local | Running db:schema:load rake task gitlab-local | psql:/opt/gitlab/embedded/service/gitlab-rails/db/structure.sql:9: NOTICE: extension "btree_gist" already exists, skipping gitlab-local |
reconfigureの途中のログが見えます。完了を待ちます
日常の運用コマンドまとめ
今後の操作はすべてターミナルで cd ~/gitlab-local を実行した状態で行います。
- GitLab を停止する
Bashdocker compose down(Mac をシャットダウンする場合も、データを保持したまま安全に停止します) - GitLab を再起動・開始する
Bashdocker compose up -d - 動作状況(ログ)を確認する
Bashdocker compose logs -f(Ctrl + Cでログ表示を抜けられます)
これで Mac 内(~/gitlab-data)にすべてのデータを保持した、爆速で快適な GitLab EE 19.2.1 ローカル環境が完了します!
バックアップを戻す!
% ls gitlab-local-data/config/gitlab-secrets.json に 19.2.1で保存したものを上書き
docker exec -it gitlab-local ls -l /etc/gitlab/gitlab-secrets.json -rw------- 1 root root 16316 Aug 12 12:20 /etc/gitlab/gitlab-secrets.json
となっているのでOK
docker exec -it gitlab-local gitlab-ctl reconfigure 設定反映(secrets Running handlers complete [2026-08-12T12:24:06+00:00] INFO: Report handlers complete Infra Phase complete, 72/687 resources updated in 01 minutes 02 seconds gitlab Reconfigured!
docker exec -it gitlab-local gitlab-ctl stop puma とりあえず止める
tarをbackupsに置く
% mv ./gitlab19/1786529738_2026_08_12_19.2.1-ee_gitlab_backup.tar ./gitlab-local-data/data/backups/
restoreする
docker exec -it gitlab-local gitlab-backup restore BACKUP=1786529738_2026_08_12_19.2.1-ee Restoring database ... 2026-08-12 12:27:04 UTC -- Be sure to stop Puma, Sidekiq, and any other process that connects to the database before proceeding. For Omnibus installs, see the following link for more information:Before restoring the database, we will remove all existing tables to avoid future upgrade problems. Be aware that if you have custom tables in the GitLab database these tables and all data will be removed. Do you want to continue (yes/no)? yes http://gitlab.grt/help/administration/backup_restore/restore_gitlab.md#restore-for-linux-package-installations
2026-08-12 12:34:05 UTC -- Restoring agent plan content ... done 2026-08-12 12:34:05 UTC -- Restoring external diffs ... 2026-08-12 12:34:05 UTC -- Restoring external diffs ... done This task will now rebuild the authorized_keys file. You will lose any data stored in the authorized_keys file. Do you want to continue (yes/no)?
2026-08-12 12:34:53 UTC -- Deleting backups/tmp ... done 2026-08-12 12:34:53 UTC -- Warning: Your gitlab.rb and gitlab-secrets.json files contain sensitive data and are not included in this backup. You will need to restore these files manually. 2026-08-12 12:34:53 UTC -- Restore task is done. 2026-08-12 12:34:53 UTC -- Deleting backup and restore PID file at [/opt/gitlab/embedded/service/gitlab-rails/tmp/backup_restore.pid] ... done
% docker exec -it gitlab-local gitlab-ctl restart ok: run: gitaly: (pid 6349) 0s ok: run: gitlab-workhorse: (pid 6373) 0s ok: run: logrotate: (pid 6387) 1s ok: run: nginx: (pid 6393) 0s ok: run: postgresql: (pid 6403) 0s ok: run: puma: (pid 6405) 1s ok: run: redis: (pid 6417) 0s ok: run: sidekiq: (pid 6432) 0s ok: run: sshd: (pid 6439) 0s
OK
ログインしてデータはOKっぽい!
git がちゃんと使えるかテスト
ssh git 接続
% ssh gitlab-local PTY allocation request failed on channel 0 Welcome to GitLab, @junichi! Connection to gitlab.grt closed.
gitlab-localは.ssh/configに設定しています
Host gitlab-local User git Port 8922 HostName gitlab.grt IdentityFile ~/.ssh/id_rsa_gitlab_local TCPKeepAlive yes IdentitiesOnly yes
git clone ssh://git@gitlab.grt:8922/junichi/your-project.git これが git clone gitlab-local:/junichi/your-project.gitでOK
cloneもpushもOKでした!
stop ? down
% docker compose stop [+] stop 1/1 ✔ Container gitlab-local Stopped
stopの場合startで早く復帰できる?
docker compose start [+] start 1/1 ✔ Container gitlab-local Started
通常は stop > startで使わない時は down > 使う時 up -dで良さそうですね
約10時間indigo4GBつかって 25.5円くらいですね^^v


コメント