Update dockerfile
This commit is contained in:
parent
fbfc1bae85
commit
598c29ab17
5 changed files with 22 additions and 79 deletions
|
@ -4,8 +4,12 @@ FROM node:alpine
|
||||||
RUN apk --no-cache upgrade
|
RUN apk --no-cache upgrade
|
||||||
RUN apk add --no-cache git cmake msttcorefonts-installer python3 alpine-sdk ffmpeg wget rpm2cpio \
|
RUN apk add --no-cache git cmake msttcorefonts-installer python3 alpine-sdk ffmpeg wget rpm2cpio \
|
||||||
zlib-dev libpng-dev libjpeg-turbo-dev freetype-dev fontconfig-dev \
|
zlib-dev libpng-dev libjpeg-turbo-dev freetype-dev fontconfig-dev \
|
||||||
libtool libwebp-dev libxml2-dev pango-dev freetype fontconfig \
|
libtool libwebp-dev libxml2-dev freetype fontconfig \
|
||||||
vips vips-dev grep
|
vips vips-dev grep libc6-compat
|
||||||
|
|
||||||
|
# install pnpm
|
||||||
|
RUN --mount=type=cache,id=pnpm-store,target=/root/.pnpm-store \
|
||||||
|
npm install -g pnpm@6.27.1
|
||||||
|
|
||||||
# gets latest version of twemoji
|
# gets latest version of twemoji
|
||||||
RUN mkdir /tmp/twemoji \
|
RUN mkdir /tmp/twemoji \
|
||||||
|
@ -25,7 +29,7 @@ RUN git clone https://github.com/carlobaldassi/liblqr \
|
||||||
&& make install
|
&& make install
|
||||||
|
|
||||||
# install imagemagick from source rather than using the package
|
# install imagemagick from source rather than using the package
|
||||||
# since the alpine package does not include pango support.
|
# since the alpine package does not include liblqr support.
|
||||||
RUN git clone https://github.com/ImageMagick/ImageMagick.git ImageMagick \
|
RUN git clone https://github.com/ImageMagick/ImageMagick.git ImageMagick \
|
||||||
&& cd ImageMagick \
|
&& cd ImageMagick \
|
||||||
&& ./configure \
|
&& ./configure \
|
||||||
|
@ -54,26 +58,27 @@ COPY ./assets/caption.otf /usr/share/fonts/caption.otf
|
||||||
COPY ./assets/caption2.ttf /usr/share/fonts/caption2.ttf
|
COPY ./assets/caption2.ttf /usr/share/fonts/caption2.ttf
|
||||||
COPY ./assets/hbc.ttf /usr/share/fonts/hbc.ttf
|
COPY ./assets/hbc.ttf /usr/share/fonts/hbc.ttf
|
||||||
COPY ./assets/reddit.ttf /usr/share/fonts/reddit.ttf
|
COPY ./assets/reddit.ttf /usr/share/fonts/reddit.ttf
|
||||||
|
COPY ./assets/whisper.otf /usr/share/fonts/whisper.otf
|
||||||
RUN fc-cache -fv
|
RUN fc-cache -fv
|
||||||
|
|
||||||
COPY --chown=node:node ./package.json package.json
|
COPY --chown=node:node ./package.json package.json
|
||||||
COPY --chown=node:node ./package-lock.json package-lock.json
|
COPY --chown=node:node ./pnpm-lock.yaml pnpm-lock.yaml
|
||||||
RUN npm install
|
RUN pnpm install
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN rm .env
|
RUN rm .env
|
||||||
RUN npm run build
|
RUN pnpm run build
|
||||||
|
|
||||||
RUN mkdir /home/esmBot/help
|
RUN mkdir /home/esmBot/help \
|
||||||
RUN chown esmBot:esmBot /home/esmBot/help
|
&& chown esmBot:esmBot /home/esmBot/help \
|
||||||
RUN chmod 666 /home/esmBot/help
|
&& chmod 777 /home/esmBot/help
|
||||||
|
|
||||||
RUN mkdir /home/esmBot/temp
|
RUN mkdir /home/esmBot/temp \
|
||||||
RUN chown esmBot:esmBot /home/esmBot/temp
|
&& chown esmBot:esmBot /home/esmBot/temp \
|
||||||
RUN chmod 666 /home/esmBot/temp
|
&& chmod 777 /home/esmBot/temp
|
||||||
|
|
||||||
RUN mkdir /home/esmBot/.internal/logs
|
RUN mkdir /home/esmBot/.internal/logs \
|
||||||
RUN chown esmBot:esmBot /home/esmBot/.internal/logs
|
&& chown esmBot:esmBot /home/esmBot/.internal/logs \
|
||||||
RUN chmod 666 /home/esmBot/.internal/logs
|
&& chmod 777 /home/esmBot/.internal/logs
|
||||||
|
|
||||||
USER esmBot
|
USER esmBot
|
||||||
|
|
|
@ -1,60 +0,0 @@
|
||||||
# Docker/Kubernetes file for running the image API
|
|
||||||
FROM node:alpine
|
|
||||||
|
|
||||||
RUN apk --no-cache upgrade
|
|
||||||
RUN apk add --no-cache git cmake msttcorefonts-installer python3 alpine-sdk ffmpeg \
|
|
||||||
zlib-dev libpng-dev libjpeg-turbo-dev freetype-dev fontconfig-dev \
|
|
||||||
libtool libwebp-dev libxml2-dev pango-dev freetype fontconfig \
|
|
||||||
vips vips-dev
|
|
||||||
|
|
||||||
# liblqr needs to be built manually for magick 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 \
|
|
||||||
&& ./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 \
|
|
||||||
--without-hdri \
|
|
||||||
--with-lqr \
|
|
||||||
&& make \
|
|
||||||
&& make install
|
|
||||||
|
|
||||||
RUN update-ms-fonts && fc-cache -f
|
|
||||||
|
|
||||||
RUN adduser esmBot -s /bin/sh -D
|
|
||||||
WORKDIR /home/esmBot/.internal
|
|
||||||
|
|
||||||
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
|
|
||||||
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 . .
|
|
||||||
RUN npm run build
|
|
||||||
|
|
||||||
USER esmBot
|
|
||||||
|
|
||||||
EXPOSE 3762
|
|
||||||
|
|
||||||
ENTRYPOINT ["node", "api/index.js"]
|
|
|
@ -34,7 +34,7 @@ A client sends *requests* (T-messages) to a server, which subsequently *replies*
|
||||||
|
|
||||||
### Job Object
|
### Job Object
|
||||||
The job object is formatted like this:
|
The job object is formatted like this:
|
||||||
```json
|
```js
|
||||||
{
|
{
|
||||||
"cmd": string, // name of internal image command, e.g. caption
|
"cmd": string, // name of internal image command, e.g. caption
|
||||||
"path": string, // canonical image URL, used for getting the actual image
|
"path": string, // canonical image URL, used for getting the actual image
|
||||||
|
|
|
@ -4,7 +4,6 @@ services:
|
||||||
bot:
|
bot:
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: Dockerfile.bot
|
|
||||||
image: esmbot
|
image: esmbot
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
|
|
|
@ -10,8 +10,7 @@
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "cmake-js compile",
|
"build": "cmake-js compile",
|
||||||
"docker:build": "docker build -t esmbot -f Dockerfile.bot .",
|
"docker:build": "DOCKER_BUILDKIT=1 docker build -t esmbot .",
|
||||||
"docker:build-api": "docker build -t esmbot-api -f Dockerfile.api .",
|
|
||||||
"docker:run-bot": "docker run --rm --network=host esmbot",
|
"docker:run-bot": "docker run --rm --network=host esmbot",
|
||||||
"docker:run-api": "docker run --rm --network=host esmbot-api",
|
"docker:run-api": "docker run --rm --network=host esmbot-api",
|
||||||
"docker:run-lava": "docker run --rm --network host -v \"$(pwd)\"/application.yml:/opt/Lavalink/application.yml -v \"$(pwd)\"/assets:/opt/Lavalink/assets fredboat/lavalink:dev",
|
"docker:run-lava": "docker run --rm --network host -v \"$(pwd)\"/application.yml:/opt/Lavalink/application.yml -v \"$(pwd)\"/assets:/opt/Lavalink/assets fredboat/lavalink:dev",
|
||||||
|
|
Loading…
Reference in a new issue