-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathDockerfile
111 lines (99 loc) · 3.69 KB
/
Dockerfile
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
# vim:set ft=dockerfile:
########################################################################
# Stage build python pip requirements and utils
FROM python:3.9-alpine as dev
ENV INSTALL_PREFIX /opt/omnileads
RUN apk add --virtual .buildeps \
build-base \
libffi-dev \
postgresql-dev \
git \
zlib-dev \
jpeg-dev \
libxml2-dev \
libxslt-dev \
cairo-dev \
py3-flake8 \
cargo \
openssl-dev \
libsass-dev \
npm
COPY requirements/requirements.txt ./
RUN mkdir -p $INSTALL_PREFIX/virtualenv \
&& pip3 install --upgrade pip \
&& pip3 install -r requirements.txt \
&& pip3 install flake8 \
&& apk del .buildeps
########################################################################
# Stage build VueJS
FROM freetechsolutions/vue-cli:develop as vuejs
WORKDIR /omnileads_ui/oml_frontend
COPY omnileads_ui/ ./
RUN npm install
RUN npm run build
########################################################################
# Build omlapp image with binaries
FROM python:3.9-alpine as run
ENV INSTALL_PREFIX /opt/omnileads
# Copia todo el virtualenv
COPY --from=dev /usr/local/lib/python3.9/ /usr/local/lib/python3.9/
COPY --from=dev /src/pyst2/ /src/pyst2/
COPY --from=dev /usr/local/bin/flake8 /usr/local/bin/
COPY --from=dev /usr/local/bin/uwsgi /usr/local/bin/
COPY --from=dev /usr/local/bin/daphne /usr/local/bin/
RUN apk add --no-cache bash \
busybox-suid \
py3-cairo \
curl \
gettext \
lame \
libjpeg-turbo \
libpq \
libxslt \
sox \
tzdata \
postgresql-client \
pcre pcre-dev \
aws-cli \
git \
build-base \
gcc \
wget \
coreutils \
sudo \
espeak-ng \
ffmpeg \
picotts \
&& wget https://sourceware.org/pub/libffi/libffi-3.3.tar.gz \
&& tar xzvf libffi-3.3.tar.gz \
&& cd libffi-3.3/ \
&& ./configure \
&& make \
&& make install \
&& addgroup -g 1000 -S omnileads && adduser -u 1000 -S omnileads -G omnileads -h $INSTALL_PREFIX -s /bin/bash \
&& cd $INSTALL_PREFIX \
&& mkdir -p wombat-json bin backup media_root/reporte_campana static log run addons ominicontacto asterisk/var/spool/monitor \
&& wget https://keys-server.freetech.com.ar:20852/cert --no-check-certificate
#Copia el codigo de rama actual
COPY ominicontacto/ $INSTALL_PREFIX/ominicontacto/ominicontacto
COPY requirements $INSTALL_PREFIX/ominicontacto
COPY test $INSTALL_PREFIX/ominicontacto
COPY tests $INSTALL_PREFIX/ominicontacto
COPY api_app $INSTALL_PREFIX/ominicontacto/api_app
COPY configuracion_telefonia_app $INSTALL_PREFIX/ominicontacto/configuracion_telefonia_app
COPY ominicontacto_app $INSTALL_PREFIX/ominicontacto/ominicontacto_app
COPY reciclado_app $INSTALL_PREFIX/ominicontacto/reciclado_app
COPY reportes_app $INSTALL_PREFIX/ominicontacto/reportes_app
COPY supervision_app $INSTALL_PREFIX/ominicontacto/supervision_app
COPY slowsql $INSTALL_PREFIX/ominicontacto/slowsql
COPY notification_app $INSTALL_PREFIX/ominicontacto/notification_app
COPY utiles_globales.py manage.py $INSTALL_PREFIX/ominicontacto/
COPY omnileads_ui $INSTALL_PREFIX/ominicontacto/omnileads_ui
COPY orquestador_app $INSTALL_PREFIX/ominicontacto/orquestador_app
COPY whatsapp_app $INSTALL_PREFIX/ominicontacto/whatsapp_app
COPY build/oml_uwsgi.ini ${INSTALL_PREFIX}/run/oml_uwsgi.ini
COPY build/scripts/* $INSTALL_PREFIX/bin/
COPY omnileads_ui/ $INSTALL_PREFIX/ominicontacto/omnileads_ui
COPY --from=vuejs /omnileads_ui/oml_frontend/dist/ $INSTALL_PREFIX/ominicontacto/omnileads_ui/dist
RUN chmod +x $INSTALL_PREFIX/bin/*
RUN chown -R omnileads:omnileads $INSTALL_PREFIX /var/spool/cron/ /var/spool/cron/crontabs/