diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..ef2adff --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +config.json +font.ttf diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b78d204 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,24 @@ + +FROM node:lts-bullseye +RUN apt-get update && apt-get install -y tini + +COPY . /ai + +WORKDIR /ai +RUN npm install && npm run build + +# install mecab and neologd +RUN apt-get update \ + && apt-get install mecab libmecab-dev mecab-ipadic-utf8 make curl xz-utils file sudo --no-install-recommends -y \ + && apt-get clean \ + && rm -rf /var/lib/apt-get/lists/* \ + && cd /opt \ + && git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git \ + && cd /opt/mecab-ipadic-neologd \ + && ./bin/install-mecab-ipadic-neologd -n -y \ + && rm -rf /opt/mecab-ipadic-neologd \ + && echo "dicdir = /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/" > /etc/mecabrc \ + && apt-get purge git make curl xz-utils file -y + +ENTRYPOINT ["/usr/bin/tini", "--"] +CMD npm start diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..03f6f80 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3' +services: + app: + build: . + volumes: + - './config.json:/ai/config.json:ro' + - './font.ttf:/ai/font.ttf:ro' + - './data:/ai/data' + restart: always