このプロジェクトは、Ananta とその完全なランタイム環境を内包した状態で、最小限のコンテナイメージを作成したものです。セキュリティを強化しつつ、不便さを感じさせないよう自動化スクリプトを導入し、操作性を向上させました。
利用時には ${HOME}/.ssh/ ディレクトリをコンテナ内にマウントすることを推奨します。コンテナは ~/.ssh/config に基づいて hosts.toml を自動生成します。
接続が制限された環境での作業を想定し、エアギャップ環境におけるツールのインストールおよび運用を容易にするために、本プロジェクトを立ち上げました。
以下の手順に従って、ananta のヘルパースクリプトをインストールしてください。
curl -sSLROJ --fail -- \
"https://github.com/IceCodeNew/anata-no-minato/releases/latest/download/ananta"
# スクリプトを実行する前に、内容を確認することを推奨します。
cat ./ananta
sudo install -pvD ./ananta /usr/local/bin/
rm ./anantaこのヘルパースクリプトは、~/.ssh/config をもとに hosts.toml ファイルを自動生成します。
これにより、ananta ツールを実行する際に、あらかじめ hosts.toml を用意する必要がなくなります。
実行例:
ananta -CS fastfetchなお、hosts.toml ファイルを指定したい場合は、公式 ananta ツールと同様のパラメータ順でコマンドを実行してください。
実行例:
ananta -t arch hosts.toml sudo pacman -Syu --noconfirmSSH config 内で #tags 行を追加し、各ホストにタグを付与します。複数のタグはカンマ(,)またはコロン(:)で区切って記述できます。例:
Host mynas
Hostname 1.1.1.1
User root
#tags tailscale,debian:nas,homeSSH コマンドを並行実行する際に特定のホストを一時的に除外したい場合は、対象ホストのタグリストに !ananta タグを追加してください。
Host do_not_ananta_in_this_host
#tags home,debian,!ananta#tags 行の先頭にもう一つの # を付けると、その行のタグが全て無効化されます。
これにより、Ananta 実行時に該当ホストが通常通り接続対象となります。
Host will_ananta_in_this_host
##tags home,debian,!ananta私のパソコにはすでに「docker-XXX」という名前の Git リポジトリが多数存在しており、本プロジェクトはできるだけ少ないキー入力で移動できるように「docker-ananta」という名前を避けています。
「Ananta」は、中国語や日本語話者にとってあまり馴染みのない発音ですが、「n」を一文字省略すると、日本語の「Anata(あなた)」に似た読みになることに気付きました。これにより、4 文字目まで入力すれば本プロジェクトに移動できるようになります。
「Minato(港)」という言葉は、コンテナ(Docker)が港に停泊する船のように見えることから着想を得たものです。これら二つの言葉を組み合わせた結果、日本で広く知られる某有名演歌のタイトルになりました。ぜひご堪能ください:
