diff --git a/containers/base/Dockerfile b/containers/base/Dockerfile index dc27f8a..1d3a995 100644 --- a/containers/base/Dockerfile +++ b/containers/base/Dockerfile @@ -65,6 +65,15 @@ RUN set -eux; \ unzip -q /tmp/awscliv2.zip -d /tmp; \ /tmp/aws/install; \ rm -rf /tmp/awscliv2.zip /tmp/aws; \ + # AWS Session Manager plugin + case "$(dpkg --print-architecture)" in \ + amd64) ssm_arch="ubuntu_64bit" ;; \ + arm64) ssm_arch="ubuntu_arm64" ;; \ + *) echo "Unsupported architecture for session-manager-plugin: $(dpkg --print-architecture)" && exit 1 ;; \ + esac; \ + curl -fsSL "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/${ssm_arch}/session-manager-plugin.deb" -o /tmp/session-manager-plugin.deb; \ + dpkg -i /tmp/session-manager-plugin.deb; \ + rm -f /tmp/session-manager-plugin.deb; \ # gcloud SDK arch="$(uname -m)"; \ case "${arch}" in \ @@ -100,7 +109,7 @@ RUN set -eux; \ ENV PATH="/root/.local/bin:/opt/google-cloud-sdk/bin:${PATH}" # 確認 -RUN gh --version && node --version && npm --version && aws --version && gcloud --version +RUN gh --version && node --version && npm --version && aws --version && gcloud --version && session-manager-plugin --version # ユーザー設定 ARG USERNAME="ubuntu" diff --git a/containers/trygroup/Dockerfile b/containers/trygroup/Dockerfile new file mode 100644 index 0000000..f061442 --- /dev/null +++ b/containers/trygroup/Dockerfile @@ -0,0 +1,28 @@ +# ================================== +# devbase-trygroup: project-trygroup-prd / project-trygroup-prd-customer 専用環境 +# devbase-base を継承し、Poetry と pnpm を追加 +# ================================== + +FROM devbase-base:latest + +# --- root レイヤー: pnpm(npm グローバル) --- +USER root +RUN set -eux; \ + npm i -g pnpm; \ + npm cache clean --force; \ + rm -rf /root/.npm + +# --- user レイヤー: Poetry --- +# uv との競合回避: +# - Poetry は公式インストーラで独立した専用 venv に導入する(uv の管理環境に非干渉) +# - バイナリは ~/.local/bin/poetry、uv は ~/.local/bin/uv で名前衝突なし +# - Poetry の仮想環境は既定の ~/.cache/pypoetry に作成し、 +# uv が使うプロジェクト直下の .venv と分離する(virtualenvs.in-project は false のまま) +USER ubuntu +RUN set -eux; \ + curl -sSL https://install.python-poetry.org | python3 -; \ + ~/.local/bin/poetry --version; \ + rm -rf ~/.cache/pypoetry/cache ~/.cache/pip + +USER ubuntu +WORKDIR /work