|
|
FROM althack/ros2:humble-full AS base |
|
|
|
|
|
|
|
|
USER root |
|
|
|
|
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive |
|
|
|
|
|
|
|
|
RUN apt-get update && \ |
|
|
apt-get install -y --no-install-recommends \ |
|
|
build-essential \ |
|
|
curl \ |
|
|
net-tools \ |
|
|
iputils-ping \ |
|
|
ros-${ROS_DISTRO}-rosbag2-storage-mcap \ |
|
|
ros-${ROS_DISTRO}-rosbridge-server \ |
|
|
git \ |
|
|
ca-certificates \ |
|
|
tmux \ |
|
|
vim \ |
|
|
&& \ |
|
|
rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
|
|
|
COPY docker-assets/data/TensorRT-10.13.0.35 /usr/TensorRT-10.13.0.35 |
|
|
|
|
|
|
|
|
RUN chown -R ros:ros /home/ros |
|
|
|
|
|
|
|
|
USER ros |
|
|
WORKDIR /home/ros/g0plus_ros2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RUN --mount=type=secret,id=git_token,uid=1000,gid=1000 \ |
|
|
GIT_TOKEN=$(cat /run/secrets/git_token) && \ |
|
|
git clone https://${GIT_TOKEN}@github.com/OpenGalaxea/GalaxeaVLA.git -b main |
|
|
RUN --mount=type=secret,id=git_token,uid=1000,gid=1000 \ |
|
|
GIT_TOKEN=$(cat /run/secrets/git_token) && \ |
|
|
git clone https://${GIT_TOKEN}@github.com/OpenGalaxea/EFMNode.git -b dev/pp_trt |
|
|
COPY --chown=ros:ros docker-assets/code/Hierarchical_System /home/ros/g0plus_ros2/Hierarchical_System |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WORKDIR /home/ros |
|
|
ARG http_proxy |
|
|
ARG https_proxy |
|
|
|
|
|
RUN bash -c "\ |
|
|
curl -LsSf https://astral.sh/uv/install.sh | bash && \ |
|
|
~/.local/bin/uv --version \ |
|
|
" |
|
|
ENV PATH="/home/ros/.local/bin:${PATH}" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WORKDIR /home/ros/g0plus_ros2/GalaxeaVLA |
|
|
|
|
|
ENV UV_DEFAULT_INDEX=https://mirrors.aliyun.com/pypi/simple/ |
|
|
ENV UV_PYTHON_INSTALL_MIRROR=https://gh-proxy.com/https://github.com/astral-sh/python-build-standalone/releases/download |
|
|
ENV UV_HTTP_TIMEOUT=600 |
|
|
|
|
|
|
|
|
RUN uv sync --index-strategy unsafe-best-match |
|
|
|
|
|
RUN VIRTUAL_ENV=.venv uv pip install -e . |
|
|
|
|
|
RUN VIRTUAL_ENV=.venv uv pip install -e .[dev] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WORKDIR /home/ros/g0plus_ros2/GalaxeaVLA |
|
|
|
|
|
RUN VIRTUAL_ENV=.venv uv pip install nvtx google-genai dashscope |
|
|
|
|
|
RUN VIRTUAL_ENV=.venv uv pip install lark==1.3.1 empy==3.3.4 colcon-common-extensions==0.3.0 |
|
|
|
|
|
RUN VIRTUAL_ENV=.venv uv pip install setuptools==59.6.0 |
|
|
|
|
|
RUN VIRTUAL_ENV=.venv uv pip install tensorflow==2.15.0 |
|
|
|
|
|
RUN VIRTUAL_ENV=.venv uv pip install netifaces pymongo tornado cbor2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RUN VIRTUAL_ENV=.venv uv pip install /usr/TensorRT-10.13.0.35/python/tensorrt-10.13.0.35-cp310-none-linux_x86_64.whl |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WORKDIR /home/ros/g0plus_ros2/Hierarchical_System |
|
|
|
|
|
RUN bash -c "\ |
|
|
source /opt/ros/humble/setup.bash && \ |
|
|
source /home/ros/g0plus_ros2/GalaxeaVLA/.venv/bin/activate && \ |
|
|
colcon build --symlink-install \ |
|
|
--cmake-args -DPython3_ROOT_DIR=${VIRTUAL_ENV} \ |
|
|
" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
COPY --chown=ros:ros docker-assets/super_client_configuration_file.xml.tpl /home/ros/super_client_configuration_file.xml.tpl |
|
|
|
|
|
RUN echo "source /home/ros/g0plus_ros2/GalaxeaVLA/.venv/bin/activate" >> /home/ros/.bashrc && \ |
|
|
echo "source /home/ros/g0plus_ros2/Hierarchical_System/install/setup.bash" >> /home/ros/.bashrc |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WORKDIR /home/ros |
|
|
|