-
Notifications
You must be signed in to change notification settings - Fork 0
/
DockerfileRpi
97 lines (77 loc) · 2.99 KB
/
DockerfileRpi
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
# Debian 8.5 with miniconda and python3.5
FROM resin/rpi-raspbian:jessie
MAINTAINER Martin Tomik <[email protected]>
# fix - source not found
#RUN rm /bin/sh && ln -s /bin/bash /bin/sh
ENV PATH /usr/local/bin:$PATH
RUN apt-get update && apt-get -y upgrade && \
apt-get install -y libgtk2.0-dev build-essential cmake cmake-curses-gui pkg-config \
libatlas-base-dev gfortran supervisor \
libjpeg-dev libjasper-dev libpng12-dev \
libpng3 libpnglite-dev zlib1g-dbg zlib1g zlib1g-dev \
libunicap2 libunicap2-dev swig libv4l-0 libv4l-dev \
python3 python3-dev python3-pip python3-wheel \
wget unzip libpq-dev
# remove python2.7
#RUN apt-get remove -y python2.7 python2.7-dev && apt-get autoremove
# alternative
#RUN apt-get update && apt-get -y upgrade && \
# wget unzip python3 python3-dev python3-pip python3-wheel
# virtualenv
#RUN wget https://bootstrap.pypa.io/get-pip.py && \
# python3.4 get-pip.py && pip install virtualenv virtualenvwrapper && \
# rm -rf ~/.cache/pip
#RUN wget https://bootstrap.pypa.io/get-pip.py && \
# python3.4 get-pip.py && \
# rm -rf ~/.cache/pip
# profile update
#RUN echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.profile && \
# echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.profile && \
# echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.profile
# pick python3 + numpy
#RUN /bin/bash -c 'source ~/.profile; mkvirtualenv cv -p python3 ; workon cv; pip install numpy'
RUN pip3 install numpy
##6 opencv3
RUN cd /opt && \
wget https://github.com/opencv/opencv/archive/3.2.0.zip && \
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.2.0.zip && \
unzip 3.2.0.zip && \
unzip opencv_contrib.zip && \
cd /opt/opencv-3.2.0 && \
mkdir build && \
cd build && \
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D WITH_FFMPEG=NO \
-D WITH_IPP=NO \
-D OPENCV_EXTRA_MODULES_PATH=/opt/opencv_contrib-3.2.0/modules \
-D WITH_OPENEXR=NO .. && \
make -j4 && \
make install && \
ldconfig && \
rm /opt/3.2.0.zip && \
rm /opt/opencv_contrib.zip
# fix opencv python
#RUN cd /usr/local/lib/python3.4/site-packages/ && mv cv2.cpython-34m.so cv2.so && \
# cd ~/.virtualenvs/cv/lib/python3.4/site-packages/ && \
# ln -s /usr/local/lib/python3.4/site-packages/cv2.so cv2.so
# fix opencv python
RUN cd /usr/local/lib/python3.4/dist-packages/ && mv cv2.cpython-34m.so cv2.so
COPY *.txt /
# make python3 default
RUN alias python=python3 && alias pip=pip3
# install dependencies
RUN pip3 install -r requirements-rpi.txt
# copy Django project
RUN mkdir /code
WORKDIR /code
COPY . .
RUN chmod +x run_celeryPi.sh run_webPi.sh
RUN addgroup celery
RUN adduser --disabled-password --no-create-home --system -q --ingroup celery celery
RUN mkdir /var/log/app/ -p
RUN chown -R celery:celery /var/log/
ADD supervisord.conf /etc/supervisor/conf.d/
RUN chown -R celery:celery /etc/supervisor/conf.d/supervisord.conf