forked from sherifm/web_kin_anim
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
145 lines (119 loc) · 4.81 KB
/
Dockerfile
File metadata and controls
145 lines (119 loc) · 4.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# #Must use google's python compatible debian image as base
# FROM gcr.io/google_appengine/python-compat
# Already have a base image
FROM mikhailtodes/ros_webtool:latest
#Update app requirements
ADD requirements.txt /app/
RUN pip install -r /app/requirements.txt
ADD . /app/
# #Install linux packages
# RUN apt-get update && apt-get install -y \
# python-setuptools \
# emacs \
# wget \
# git \
# python-numpy python-scipy \
# gcc \
# make \
# cmake \
# build-essential \
# checkinstall \
# python-psutil \
# stress
# RUN easy_install pip
# #Install app requirements
# ADD requirements.txt /app/
# RUN pip install -r /app/requirements.txt
# ADD . /app/
# #Set-up ROS repos
# RUN sh -c 'echo "deb http://packages.ros.org/ros/ubuntu wheezy main" \
# > /etc/apt/sources.list.d/ros-latest.list'
# RUN wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key \
# -O - | apt-key add -
# #Enable Wheezy Backports repo
# RUN sh -c 'echo "deb http://http.debian.net/debian \
# wheezy-backports main" > /etc/apt/sources.list.d/backports.list'
# RUN apt-get update && apt-get upgrade -y
# #Install rosdep and rosinstall to bootstrap ROS
# RUN pip install rosdep rosinstall_generator wstool
# #Initialize rosdep
# RUN rosdep init && rosdep update
# #Create ros workspace dir
# RUN mkdir -p /home/vmagent/ros_ws
# #Create ros_ws
# RUN cd /home/vmagent/ros_ws && \
# rosinstall_generator ros_comm geometry_msgs xacro \
# joint_state_publisher robot_state_publisher rosbridge_suite \
# tf2_web_republisher pr2_description --rosdistro indigo \
# --deps --wet-only --exclude roslisp \
# --tar > indigo-custom_ros.rosinstall
# RUN cd /home/vmagent/ros_ws && \
# wstool init -j4 src indigo-custom_ros.rosinstall
# #Create external source dir
# RUN mkdir -p /home/vmagent/ros_ws/external_src
# #Install libconsole-bridge-dev
# RUN apt-get install -y libboost-system-dev libboost-thread-dev
# RUN git clone https://github.com/ros/console_bridge.git \
# /home/vmagent/ros_ws/external_src/console_bridge
# RUN cd /home/vmagent/ros_ws/external_src/console_bridge && \
# cmake /home/vmagent/ros_ws/external_src/console_bridge/. && \
# checkinstall --nodoc -y --pkgname=libconsole-bridge-dev make install
# #Install liburdfdom-headers-dev
# RUN git clone https://github.com/ros/urdfdom_headers.git \
# /home/vmagent/ros_ws/external_src/urdfdom_headers
# RUN cd /home/vmagent/ros_ws/external_src/urdfdom_headers && \
# cmake /home/vmagent/ros_ws/external_src/urdfdom_headers/. && \
# checkinstall --nodoc -y --pkgname=liburdfdom-headers-dev make install
# #Install liburdfdom-dev
# RUN apt-get update -y &&\
# apt-get install -y libboost-test-dev libtinyxml-dev
# RUN git clone https://github.com/ros/urdfdom.git \
# /home/vmagent/ros_ws/external_src/urdfdom
# RUN cd /home/vmagent/ros_ws/external_src/urdfdom && \
# cmake /home/vmagent/ros_ws/external_src/urdfdom/. &&\
# checkinstall --nodoc -y --pkgname=liburdfdom-dev make install
# #Install liblz4-dev
# RUN apt-get -y -t wheezy-backports install liblz4-dev
# #Resolve some dependencies with rosdep
# RUN cd /home/vmagent/ros_ws/ && \
# rosdep install --from-paths src --ignore-src --rosdistro=indigo -y -r \
# --os=debian:wheezy --as-root="apt:false" \
# --skip-keys="python-rosdep python-rospkg python-catkin-pkg"
# #Build the ros workspace
# RUN cd /home/vmagent/ros_ws/ && \
# ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release \
# --install-space /opt/ros/indigo
# #Create and initialize catkin workspace dir
# RUN mkdir -p /home/vmagent/catkin_ws/src
# RUN /bin/bash -c "source /opt/ros/indigo/setup.bash && \
# cd /home/vmagent/catkin_ws/src &&\
# catkin_init_workspace"
#Clone kinematics_animation, universal_robot
# ,barrett_model and youbot description packages
#RUN git clone https://github.com/sherifm/universal_robot.git \
# /home/vmagent/catkin_ws/src/universal_robot
#RUN git clone -b web https://github.com/sherifm/kinematics_animation.git \
# /home/vmagent/catkin_ws/src/kinematics_animation
# RUN git clone https://github.com/sherifm/barrett_model.git \
# /home/vmagent/catkin_ws/src/barrett_model
# RUN git clone https://github.com/mas-group/youbot_description.git \
# /home/vmagent/catkin_ws/src/youbot_description
# RUN /bin/bash -c "source /opt/ros/indigo/setup.bash && \
# cd /home/vmagent/catkin_ws && \
# catkin_make"
# #Setup bashrc
# RUN sh -c 'echo "source /home/vmagent/catkin_ws/devel/setup.bash" >> ~/.bashrc'
# RUN sh -c 'echo "export LC_ALL=C" >> ~/.bashrc'
#Update app requirements
ADD requirements.txt /app/
RUN pip install -r /app/requirements.txt
ADD . /app/
# setup entrypoint
#COPY ./entrypoint.sh /
#ENTRYPOINT ["/entrypoint.sh"]
#CMD ["bash"]
#This exposes the port so it can be accesed
#At command line its docker run -p 9090:90 sherifm/ros_webtools
#The base google image already takes care of this anyway
#Expose Port 9090
#EXPOSE 9090