-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
86 lines (70 loc) · 3.31 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
FROM python:3.8.16-bullseye AS builder
LABEL maintainer="[email protected]"
ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/Madrid
RUN echo "******** Installing dependencies... please wait" && \
apt-get update -qq && \
apt-get install -qq -y build-essential wget locales cmake \
libicu-dev libboost-regex-dev libboost-system-dev \
libboost-program-options-dev libboost-thread-dev \
libboost-filesystem-dev zlib1g-dev \
swig python3-dev default-jdk && \
( (echo en_US.UTF-8 UTF-8 >> /var/lib/locales/supported.d/en && locale-gen) || \
(sed -i 's/^# \(en_US.UTF-8\)/\1/' /etc/locale.gen && locale-gen) || \
locale-gen en_US.UTF-8 )
RUN export FL_VERSION=4.2 && \
# export FLINSTALL=/root/freeling && \
cd /tmp && \
echo "******** Downloading FreeLing... please wait" && \
wget --progress=dot:giga https://github.com/TALP-UPC/FreeLing/releases/download/$FL_VERSION/FreeLing-src-$FL_VERSION.tar.gz && \
wget --progress=dot:giga https://github.com/TALP-UPC/FreeLing/releases/download/$FL_VERSION/FreeLing-langs-src-$FL_VERSION.tar.gz && \
echo "******** Uncompressing FreeLing... please wait" && \
tar xzf FreeLing-src-$FL_VERSION.tar.gz && \
tar xzf FreeLing-langs-src-$FL_VERSION.tar.gz && \
rm -rf FreeLing-src-$FL_VERSION.tar.gz FreeLing-langs-src-$FL_VERSION.tar.gz && \
cd /tmp/FreeLing-$FL_VERSION && \
mkdir build && \
cd build && \
echo "******** Compiling FreeLing... please wait" && \
cmake .. -DJAVA_API=OFF -DTRACES=ON -DPYTHON3_API=ON -Wno-dev && \
make -j2 && \
echo "******** Installing FreeLing... please wait" && \
# make -j2 install DCMAKE_INSTALL_PREFIX=$FLINSTALL && \
make -j2 install && \
#
# Uncomment to remove unwanted languages data to save space && \
# rm -rf /usr/local/share/freeling/ru && \
# rm -rf /usr/local/share/freeling/cy && \
# rm -rf /usr/local/share/freeling/pt && \
# etc ....
#
cd && \
rm -rf /tmp/FreeLing-$FL_VERSION && \
apt-get --purge -y remove build-essential libicu-dev \
libboost-regex-dev libboost-system-dev \
libboost-program-options-dev libboost-thread-dev \
libboost-filesystem-dev zlib1g-dev\
cmake wget swig python3-dev && \
apt-get clean -y #&& \
rm -rf /var/lib/apt/lists/*
# RUN echo "deb-src http://deb.debian.org/debian bullseye main" >> /etc/apt/sources.list
RUN apt-get update -qq && \
apt-get install -qq -y default-libmysqlclient-dev python3-lxml && \
apt-get clean -y
# Create app directory
WORKDIR /app
# Install app dependencies
COPY requirements.txt ./
ENV LD_LIBRARY_PATH=/usr/local/share/freeling/APIs/python3
ENV PYTHONPATH=/usr/local/share/freeling/APIs/python3
RUN pip install lxml
RUN pip install -r requirements.txt
# este fichero pertenece al paquete pattern. Se ha modificado con la conjugación de algunos verbos
# irregulares.este fichero pertenece al paquete pattern. Se ha modificado con la conjugación de algunos verbos irregulares.
COPY app/es-verbs.txt /usr/local/lib/python3.8/site-packages/pattern/text/es/
# Bundle app source
COPY . /app
EXPOSE 5000
ENTRYPOINT ["./gunicorn.sh"]
# CMD ["python3", "app.py"]
# CMD echo 'Hello world' | analyze -f en.cfg | grep -c 'world world NN 1'