Gemini CLI in Docker on Raspberry Pi

gemini-cliをラズパイの上のdockerの上で動かしてみた

Gemini CLI in Docker on Raspberry Pi

概要

巷が賑わっている

Gemini CLI : オープンソース AI エージェント | Google Cloud 公式ブログ

この手のAIエージェントはどうも環境を壊されるんじゃないかという不安がつきまとう.

とりあえず試すならコンテナでないと許せないのでやってみた.

ラズパイ(Raspberry Pi 4) の上で動かす場合,ヘッドレスだと認証でひと癖あるます.

結論

※ 20250710現在はこんなことしなくても認証突破できるようになってる(あとあとがき参照)

.gemini を引きずり回せばいける.

GitHub - doariva/gemini-cli-docker
Contribute to doariva/gemini-cli-docker development by creating an account on GitHub.

経緯

ラズパイの上で,とりあえずdocker composeで立てる.

nodeのコンテナを使ってnpm installするDockerfileを書くだけでOK.問題はこのあと.

Waiting for auth...

ラズパイは完全ヘッドレスでブラウザを持っていないので,本来ここでログイン画面が立ち上がるわけだが,そうはいかない.

これは予想がついていたが,飛べなかった用にURLを載せてくれていてそれを踏めば解決すると思ってた.ブラウザがないと完全にNGらしい.いくら待ってもこれ以上なにも起きない.(※20250720 今はできる)

諦めてAPIキーを発行するしかない.ただ,鍵を管理するのはめんどくさいのでどうにかしたい.

まあとりあえずいったん手元のMacで認証フローを踏んでみる.

ここでも環境が汚れるのは許せないので適当なディレクトリを切ってnpm installする

これで実行して,普通のフローでログインして認証する

そうすると,ホームディレクトリに.gemini ディレクトリができる.まあそんな気がした.

この中に設定とか認証情報を保持してるっぽいので,これをラズパイに持っていけばいけるのでは?

あっちこっちに認証情報を引き回すのもどうかと思っているが,ご愛嬌

ラズパイでもう一回やってみる.

いけた

あとがき

Issueが上がってるので,そのうち解決しそう

しかも,同じような方法ですでにコメントされとりまひた

Login with Google - Doesn’t provide a URL to authenticate (SSH Issue?) · Issue #1437 · google-gemini/gemini-cli
It’s stuck at ⠙ Waiting for auth... (Press ESC to cancel) , shouldn’t it provide a url for me to authenticate? For context, i’m doing SSH into my server so this isn’t my computer
Add function to account authentication without GUI · Issue #1439 · google-gemini/gemini-cli
Another choice for large context model integrated coding tool , great ! However I tried in current setting I can’t login in with my subscribed account on server without GUI, will U plan to fix it l…
Authentication fails on remote servers/headless environments without browser access · Issue #1696 · google-gemini/gemini-cli
Description When using Gemini CLI on a remote server via SSH (or any headless environment), the Google OAuth authentication flow fails because it requires opening a browser window that doesn’t exis…

あとあとがき (20250720更新)

今ならCLIでログインURLが表示されて,ログインフローを踏める.

ブラウザでログインしたら認証コードが出るのでターミナルに打てば認証できる.これを待ってた.

すばらしい.この記事の有用性が見事にかき消された.