mrmBot-Matrix/Dockerfile.bot

60 lines
1.6 KiB
Docker
Raw Normal View History

# Docker/Kubernetes file for running the bot
FROM node:alpine
RUN apk --no-cache upgrade
RUN apk add --no-cache git msttcorefonts-installer python3 alpine-sdk ffmpeg \
2020-12-25 15:47:22 +00:00
zlib-dev libpng-dev libjpeg-turbo-dev freetype-dev fontconfig-dev \
2021-03-04 15:05:19 +00:00
libtool libwebp-dev libxml2-dev pango-dev freetype fontconfig \
vips vips-dev
2021-01-21 02:20:04 +00:00
# liblqr needs to be built manually for magik to work
# and because alpine doesn't have it in their repos
RUN git clone https://github.com/carlobaldassi/liblqr \
&& cd liblqr \
&& ./configure \
&& make \
&& make install
# install imagemagick from source rather than using the package
# since the alpine package does not include pango support.
RUN git clone https://github.com/ImageMagick/ImageMagick.git ImageMagick \
&& cd ImageMagick \
&& git checkout 7.0.10-45 \
&& ./configure \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--enable-static \
--disable-openmp \
--with-threads \
--with-png \
--with-webp \
--with-modules \
--with-pango \
2020-12-25 15:47:22 +00:00
--without-hdri \
2021-01-21 02:20:04 +00:00
--with-lqr \
&& make \
2021-01-21 02:20:04 +00:00
&& make install
RUN update-ms-fonts && fc-cache -f
RUN adduser esmBot -s /bin/sh -D
WORKDIR /home/esmBot/.internal
2020-12-25 15:47:22 +00:00
COPY ./assets/caption.otf /usr/share/fonts/caption.otf
COPY ./assets/caption2.ttf /usr/share/fonts/caption2.ttf
COPY ./assets/hbc.ttf /usr/share/fonts/hbc.ttf
COPY ./assets/reddit.ttf /usr/share/fonts/reddit.ttf
2020-12-25 15:47:22 +00:00
RUN fc-cache -fv
COPY --chown=node:node ./package.json package.json
COPY --chown=node:node ./package-lock.json package-lock.json
RUN npm install
COPY . .
2020-12-25 15:47:22 +00:00
RUN npm run build
USER esmBot
ENTRYPOINT ["node", "app.js"]