Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
fec6174
Create Dockerfile
HansRobo May 11, 2024
3374831
Create docker-compose.yaml
HansRobo May 11, 2024
99aae91
Create devcontainer.json
HansRobo May 11, 2024
e416c21
Update Dockerfile
HansRobo May 11, 2024
f1675e6
Update docker-compose.yaml
HansRobo May 11, 2024
f12c607
拡張機能を追加
HansRobo May 11, 2024
f8d62bd
インデントを修正
HansRobo May 11, 2024
a96b955
ローカルのDockerfileを指定
HansRobo May 11, 2024
0ea4f12
Dockerfile修正
HansRobo May 11, 2024
8c2f46e
aa
HansRobo May 11, 2024
c280076
style(pre-commit): autofix
pre-commit-ci[bot] May 11, 2024
34ebf92
yユーザーの指定
HansRobo May 11, 2024
7a99a5b
a
HansRobo May 11, 2024
b2bab3a
Dockerfileのコンテキストを親フォルダにする
HansRobo May 11, 2024
17d3561
レイヤわけ
HansRobo May 11, 2024
b7489ad
Merge branch 'develop' into devcontainer
HansRobo May 14, 2024
a6308bf
Merge branch 'develop' into devcontainer
HansRobo May 14, 2024
6bf2094
Merge branch 'develop' into devcontainer
HansRobo May 29, 2024
45043bb
VoiceVoxはdevcontainerでは使わない
HansRobo Jun 4, 2024
29570d4
reposファイルのパスを修正
HansRobo Jun 4, 2024
99e8422
Clionではいい感じに無視してくれるファイルを明示的に無視
HansRobo Jun 4, 2024
6932575
Dockerfileないのコマンドが全て動くように
HansRobo Jun 4, 2024
4bdd5e6
tty
HansRobo Jun 4, 2024
6182bd0
style(pre-commit): autofix
pre-commit-ci[bot] Jun 4, 2024
ff34c51
Merge branch 'develop' into devcontainer
HansRobo Jun 4, 2024
54159b6
Merge branch 'develop' into devcontainer
HansRobo Jun 29, 2024
6ecf0a9
Merge branch 'develop' into devcontainer
HansRobo Jul 21, 2024
1a6ec88
Merge branch 'develop' into devcontainer
HansRobo Aug 31, 2024
d1486c2
Merge branch 'develop' into devcontainer
HansRobo Nov 3, 2024
2a130d4
Visionポートを修正
HansRobo Nov 4, 2024
0aa52be
Merge branch 'develop' into devcontainer
HansRobo Nov 4, 2024
6332599
Visionぽおおとおおおおおおおおおおおお
HansRobo Nov 4, 2024
c2f6da0
開発コンテナのベースを変更
HansRobo Nov 4, 2024
1751f0f
ベースにghcr.io/ibis-ssl/docker-ros2-images:humble
HansRobo Nov 4, 2024
ef66c0b
Update devcontainer.json
HansRobo Nov 4, 2024
0e615a5
Merge branch 'develop' into devcontainer
HansRobo Nov 15, 2024
aba1e0d
Update docker-compose.yaml
HansRobo Nov 15, 2024
e17bd3a
Update Dockerfile
HansRobo Nov 15, 2024
7ea3ca8
Update devcontainer.json
HansRobo Nov 15, 2024
0b6fbc5
Update Dockerfile
HansRobo Nov 15, 2024
ae5aa04
Update Dockerfile for base image
HansRobo Nov 15, 2024
6133e5f
Update ccache Dockerfile
HansRobo Nov 15, 2024
9060fca
Update prebuilt Dockerfile
HansRobo Nov 15, 2024
7665652
style(pre-commit): autofix
pre-commit-ci[bot] Nov 15, 2024
a75264b
Update scenario Dockerfile
HansRobo Nov 15, 2024
219149d
Update prebuilt Dockerfile
HansRobo Nov 15, 2024
b200ad4
Update Dockerfile
HansRobo Nov 15, 2024
9194194
Update Dockerfile
HansRobo Nov 15, 2024
a411596
Update Dockerfile
HansRobo Nov 15, 2024
fff5337
Update Dockerfile
HansRobo Nov 15, 2024
ccf0e6d
Update Dockerfile
HansRobo Nov 15, 2024
33a92f2
Update Dockerfile
HansRobo Nov 15, 2024
8e35bcb
Merge branch 'develop' into devcontainer
HansRobo Oct 18, 2025
dfe4de1
色々調整
HansRobo Oct 18, 2025
ee56061
style(pre-commit): autofix
pre-commit-ci[bot] Oct 18, 2025
7b5465a
Merge branch 'develop' into devcontainer
HansRobo Oct 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 85 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# ROS 2 Jazzy on Ubuntu 24.04
# マルチステージビルド: GitHub Codespaces では軽量版、ローカルでは完全版

# ベースイメージの選択(ビルド引数で制御)
ARG BASE_IMAGE=osrf/ros:jazzy-desktop-full
FROM ${BASE_IMAGE} AS base

# 共通: 環境変数設定
ENV USERNAME=developer
ENV USER_UID=1000
ENV USER_GID=1000
ENV ROS_OVERLAY=/home/${USERNAME}/ibis_ws
ENV DEBIAN_FRONTEND=noninteractive
ENV PYTHONUNBUFFERED=1

# 開発者ユーザーの作成
RUN groupadd --gid $USER_GID $USERNAME \
&& useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \
&& echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/$USERNAME \
&& chmod 0440 /etc/sudoers.d/$USERNAME

# 共通: 基本的な開発ツールのインストール
RUN apt-get update && apt-get install -y \
build-essential \
cmake \
git \
wget \
curl \
vim \
nano \
python3-pip \
python3-colcon-common-extensions \
python3-vcstool \
python3-rosdep \
clang-format \
clang-tidy \
gdb \
valgrind \
lcov \
ccache \
bash-completion \
iputils-ping \
net-tools \
&& rm -rf /var/lib/apt/lists/*

# Python 開発ツールのインストール
RUN pip3 install --no-cache-dir --break-system-packages \
pre-commit \
cpplint \
ruff \
pytest \
pytest-cov

# ワークスペースディレクトリの作成
RUN mkdir -p $ROS_OVERLAY/src
WORKDIR $ROS_OVERLAY

# 所有権を開発者ユーザーに変更
RUN chown -R $USERNAME:$USERNAME $ROS_OVERLAY

# 開発者ユーザーに切り替え
USER $USERNAME

# ROS 環境の初期化
RUN rosdep update

# シェル設定
RUN echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc \
&& echo "if [ -f ~/ibis_ws/install/local_setup.bash ]; then source ~/ibis_ws/install/local_setup.bash; fi" >> ~/.bashrc \
&& echo "alias cb='colcon build --symlink-install'" >> ~/.bashrc \
&& echo "alias ct='colcon test --event-handlers console_cohesion+'" >> ~/.bashrc \
&& echo "alias cs='source install/local_setup.bash'" >> ~/.bashrc

# ROS_DOMAIN_ID の設定
ENV ROS_DOMAIN_ID=0

# デフォルトシェルを bash に設定
SHELL ["/bin/bash", "-c"]

# GitHub Codespaces 最適化: キャッシュディレクトリの準備
RUN mkdir -p /home/${USERNAME}/.cache/pip \
&& mkdir -p /home/${USERNAME}/.ccache \
&& chown -R ${USERNAME}:${USERNAME} /home/${USERNAME}/.cache

CMD ["/bin/bash"]
Loading
Loading