Skip to content

Commit 659ccc7

Browse files
committed
Simplify docker and share kaldi across languages
1 parent e565ba7 commit 659ccc7

File tree

6 files changed

+54
-185
lines changed

6 files changed

+54
-185
lines changed

docker/Dockerfile.kaldi-cn

Lines changed: 2 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,4 @@
1-
FROM debian:9.8
2-
3-
RUN apt-get update && \
4-
apt-get install -y --no-install-recommends \
5-
g++ \
6-
make \
7-
automake \
8-
autoconf \
9-
bzip2 \
10-
unzip \
11-
wget \
12-
libtool \
13-
git \
14-
subversion \
15-
sox \
16-
python2.7 \
17-
python3 \
18-
python3-dev \
19-
python3-websockets \
20-
pkg-config \
21-
zlib1g-dev \
22-
patch \
23-
libatlas-dev \
24-
ca-certificates \
25-
swig \
26-
libatlas3-base && \
27-
rm -rf /var/lib/apt/lists/*
28-
29-
RUN git clone --depth 1 https://github.com/kaldi-asr/kaldi.git /opt/kaldi && \
30-
cd /opt/kaldi && \
31-
cd /opt/kaldi/tools && \
32-
make -j $(nproc) && \
33-
cd /opt/kaldi/src && \
34-
./configure --mathlib=ATLAS --shared && \
35-
make depend -j $(nproc) && \
36-
make -j $(nproc) online2 && \
37-
find /opt/kaldi -name "*.o" | xargs rm
38-
39-
RUN mkdir /opt/kaldi-websocket \
40-
&& cd /opt/kaldi-websocket \
41-
&& git clone https://github.com/alphacep/kaldi-websocket-python \
42-
&& cd kaldi-websocket-python \
43-
&& KALDI_ROOT=/opt/kaldi make \
44-
&& cd /opt/kaldi/src \
45-
&& make clean
1+
FROM alphacep/kaldi-vosk-server:latest
462

473
ENV MODEL_VERSION 0.1
484
RUN mkdir /opt/kaldi-cn \
@@ -53,5 +9,5 @@ RUN mkdir /opt/kaldi-cn \
539
&& rm -rf kaldi-cn-${MODEL_VERSION}.tar.gz
5410

5511
EXPOSE 2700
56-
WORKDIR /opt/kaldi-websocket/kaldi-websocket-python
12+
WORKDIR /opt/kaldi-websocket-python
5713
CMD [ "python3", "./asr_server.py", "/opt/kaldi-cn/model" ]

docker/Dockerfile.kaldi-de

Lines changed: 2 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,4 @@
1-
FROM debian:9.8
2-
3-
RUN apt-get update && \
4-
apt-get install -y --no-install-recommends \
5-
g++ \
6-
make \
7-
automake \
8-
autoconf \
9-
bzip2 \
10-
unzip \
11-
wget \
12-
libtool \
13-
git \
14-
subversion \
15-
sox \
16-
python2.7 \
17-
python3 \
18-
python3-dev \
19-
python3-websockets \
20-
pkg-config \
21-
zlib1g-dev \
22-
patch \
23-
libatlas-dev \
24-
ca-certificates \
25-
swig \
26-
libatlas3-base && \
27-
rm -rf /var/lib/apt/lists/*
28-
29-
RUN git clone --depth 1 https://github.com/kaldi-asr/kaldi.git /opt/kaldi && \
30-
cd /opt/kaldi && \
31-
cd /opt/kaldi/tools && \
32-
make -j $(nproc) && \
33-
cd /opt/kaldi/src && \
34-
./configure --mathlib=ATLAS --shared && \
35-
make depend -j $(nproc) && \
36-
make -j $(nproc) online2 && \
37-
find /opt/kaldi -name "*.o" | xargs rm
38-
39-
RUN mkdir /opt/kaldi-websocket \
40-
&& cd /opt/kaldi-websocket \
41-
&& git clone https://github.com/alphacep/kaldi-websocket-python \
42-
&& cd kaldi-websocket-python \
43-
&& KALDI_ROOT=/opt/kaldi make \
44-
&& cd /opt/kaldi/src \
45-
&& make clean
1+
FROM alphacep/kaldi-vosk-server:latest
462

473
ENV MODEL_VERSION 0.1
484
RUN mkdir /opt/kaldi-de \
@@ -65,5 +21,5 @@ RUN mkdir /opt/kaldi-de \
6521
&& rm -rf de_400k_nnet3chain_tdnn1f_2048_sp_bi.tar.bz2
6622

6723
EXPOSE 2700
68-
WORKDIR /opt/kaldi-websocket/kaldi-websocket-python
24+
WORKDIR /opt/kaldi-websocket-python
6925
CMD [ "python3", "./asr_server.py", "/opt/kaldi-de" ]

docker/Dockerfile.kaldi-en

Lines changed: 2 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,4 @@
1-
FROM debian:9.8
2-
3-
RUN apt-get update && \
4-
apt-get install -y --no-install-recommends \
5-
g++ \
6-
make \
7-
automake \
8-
autoconf \
9-
bzip2 \
10-
unzip \
11-
wget \
12-
libtool \
13-
git \
14-
subversion \
15-
sox \
16-
python2.7 \
17-
python3 \
18-
python3-dev \
19-
python3-websockets \
20-
pkg-config \
21-
zlib1g-dev \
22-
patch \
23-
libatlas-dev \
24-
ca-certificates \
25-
swig \
26-
libatlas3-base && \
27-
rm -rf /var/lib/apt/lists/*
28-
29-
RUN git clone --depth 1 https://github.com/kaldi-asr/kaldi.git /opt/kaldi && \
30-
cd /opt/kaldi && \
31-
cd /opt/kaldi/tools && \
32-
make -j $(nproc) && \
33-
cd /opt/kaldi/src && \
34-
./configure --mathlib=ATLAS --shared && \
35-
make depend -j $(nproc) && \
36-
make -j $(nproc) online2 && \
37-
find /opt/kaldi -name "*.o" | xargs rm
38-
39-
RUN mkdir /opt/kaldi-websocket \
40-
&& cd /opt/kaldi-websocket \
41-
&& git clone https://github.com/alphacep/kaldi-websocket-python \
42-
&& cd kaldi-websocket-python \
43-
&& KALDI_ROOT=/opt/kaldi make \
44-
&& cd /opt/kaldi/src \
45-
&& make clean
1+
FROM alphacep/kaldi-vosk-server:latest
462

473
ENV MODEL_VERSION 0.1
484
RUN mkdir /opt/kaldi-en \
@@ -53,5 +9,5 @@ RUN mkdir /opt/kaldi-en \
539
&& rm -rf kaldi-en-us-aspire-${MODEL_VERSION}.tar.gz
5410

5511
EXPOSE 2700
56-
WORKDIR /opt/kaldi-websocket/kaldi-websocket-python
12+
WORKDIR /opt/kaldi-websocket-python
5713
CMD [ "python3", "./asr_server.py", "/opt/kaldi-en/model" ]

docker/Dockerfile.kaldi-ru

Lines changed: 3 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,8 @@
1-
FROM debian:9.8
2-
3-
RUN apt-get update && \
4-
apt-get install -y --no-install-recommends \
5-
g++ \
6-
make \
7-
automake \
8-
autoconf \
9-
bzip2 \
10-
unzip \
11-
wget \
12-
libtool \
13-
git \
14-
subversion \
15-
sox \
16-
python2.7 \
17-
python3 \
18-
python3-dev \
19-
python3-websockets \
20-
pkg-config \
21-
zlib1g-dev \
22-
patch \
23-
libatlas-dev \
24-
ca-certificates \
25-
swig \
26-
libatlas3-base && \
27-
rm -rf /var/lib/apt/lists/*
28-
29-
RUN git clone --depth 1 https://github.com/kaldi-asr/kaldi.git /opt/kaldi && \
30-
cd /opt/kaldi && \
31-
cd /opt/kaldi/tools && \
32-
make -j $(nproc) && \
33-
cd /opt/kaldi/src && \
34-
./configure --mathlib=ATLAS --shared && \
35-
make depend -j $(nproc) && \
36-
make -j $(nproc) online2 && \
37-
find /opt/kaldi -name "*.o" | xargs rm
1+
FROM alphacep/kaldi-vosk-server:latest
382

3+
ENV RUVERSION 0.6
394
RUN mkdir /opt/kaldi-ru \
405
&& cd /opt/kaldi-ru \
41-
&& git clone https://github.com/alphacep/kaldi-websocket-python \
42-
&& cd kaldi-websocket-python \
43-
&& KALDI_ROOT=/opt/kaldi make \
44-
&& cd /opt/kaldi/src \
45-
&& make clean
46-
47-
ENV RUVERSION 0.6
48-
RUN cd /opt/kaldi-ru \
496
&& wget http://alphacephei.com/kaldi/kaldi-ru-${RUVERSION}.tar.gz \
507
&& tar xf kaldi-ru-${RUVERSION}.tar.gz \
518
&& mkdir -p model \
@@ -60,5 +17,5 @@ RUN cd /opt/kaldi-ru \
6017
&& rm -rf kaldi-ru-${RUVERSION}.tar.gz
6118

6219
EXPOSE 2700
63-
WORKDIR /opt/kaldi-ru/kaldi-websocket-python
20+
WORKDIR /opt/kaldi-websocket-python
6421
CMD [ "python3", "./asr_server.py", "/opt/kaldi-ru/model" ]

docker/Dockerfile.kaldi-vosk-server

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
FROM debian:9.8
2+
3+
RUN apt-get update && \
4+
apt-get install -y --no-install-recommends \
5+
g++ \
6+
make \
7+
automake \
8+
autoconf \
9+
bzip2 \
10+
unzip \
11+
wget \
12+
libtool \
13+
git \
14+
subversion \
15+
sox \
16+
python2.7 \
17+
python3 \
18+
python3-dev \
19+
python3-websockets \
20+
pkg-config \
21+
zlib1g-dev \
22+
patch \
23+
libatlas-dev \
24+
ca-certificates \
25+
swig \
26+
libatlas3-base && \
27+
rm -rf /var/lib/apt/lists/*
28+
29+
RUN \
30+
git clone --depth 1 https://github.com/kaldi-asr/kaldi.git /opt/kaldi \
31+
&& cd /opt/kaldi/tools \
32+
&& sed -i 's:status=0:exit 0:g' extras/check_dependencies.sh \
33+
&& sed -i 's:--enable-ngram-fsts:--enable-ngram-fsts --with-pic:g' Makefile \
34+
&& make -j $(nproc) openfst cub \
35+
&& cd /opt/kaldi/src \
36+
&& ./configure --mathlib=ATLAS --shared \
37+
&& make -j $(nproc) online2 \
38+
&& git clone https://github.com/alphacep/kaldi-websocket-python /opt/kaldi-websocket-python \
39+
&& cd /opt/kaldi-websocket-python \
40+
&& KALDI_ROOT=/opt/kaldi make \
41+
&& rm -rf /opt/kaldi

docker/build.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,7 @@
33
set -e
44
set -x
55

6-
docker build --squash --file Dockerfile.kaldi-ru --tag alphacep/kaldi-ru:latest .
6+
docker build --squash --file Dockerfile.kaldi-vosk-server --tag alphacep/kaldi-vosk-server:latest .
7+
for lang in ru en de cn; do
8+
docker build --squash --file Dockerfile.kaldi-${lang} --tag alphacep/kaldi-${lang}:latest .
9+
done

0 commit comments

Comments
 (0)