Compare commits

...

6 Commits
master ... main

24 changed files with 72 additions and 25 deletions

View File

@ -1,6 +1,5 @@
.DS_Store
fonts/Kh-Bokor.ttf
fonts/LICENSE.txt
fonts/METADATA.pb
@ -9,5 +8,8 @@ scripts
exported.png
LICENSE
README.md
Dockerfile*
Makefile
.gitignore
.github
.github/

View File

@ -3,7 +3,7 @@ name: Docker CI Private
on:
push:
branches:
- master
- main
jobs:
build:
@ -12,8 +12,9 @@ jobs:
env:
REGISTRY: ${{ secrets.DOCKER_REGISTRY }}
steps:
- uses: docker/setup-buildx-action@v1
- uses: actions/checkout@v1
- name: Sign-in to Private Registry "${REGISTRY}"
run: docker login $REGISTRY -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
- name: Building Docker Image
run: /bin/bash scripts/build.sh
run: /bin/bash scripts/build.sh && /bin/bash scripts/build-arm.sh

View File

@ -3,7 +3,7 @@ name: Docker CI Public
on:
push:
branches:
- 'master'
- main
jobs:
docker:

View File

@ -1,25 +1,26 @@
FROM node:14.16.0
FROM node:alpine
LABEL maintainer="sombochea@cubetiqs.com"
RUN apk add --no-cache \
chromium \
nss \
freetype \
harfbuzz \
ca-certificates \
ttf-freefont
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
ENV NODE_ENV production
ENV ACCEPT_HIGHCHARTS_LICENSE="YES"
RUN yarn global add highcharts-export-server
RUN npm i -g @cubetiq/highcharts-export-server@latest
WORKDIR /usr/share/fonts/truetype
ADD fonts/OpenSans-Regular.ttf OpenSans-Regular.ttf
ADD fonts/OpenSans-Light.ttf OpenSans-Light.ttf
ADD fonts/OpenSans-Semibold.ttf OpenSans-Semibold.ttf
ADD fonts/OpenSans-Bold.ttf OpenSans-Bold.ttf
ADD fonts/OpenSans-ExtraBold.ttf OpenSans-ExtraBold.ttf
ADD fonts/OpenSans-Italic.ttf OpenSans-Italic.ttf
ADD fonts/OpenSans-LightItalic.ttf OpenSans-LightItalic.ttf
ADD fonts/OpenSans-BoldItalic.ttf OpenSans-BoldItalic.ttf
ADD fonts/OpenSans-SemiboldItalic.ttf OpenSans-SemiboldItalic.ttf
ADD fonts/OpenSans-ExtraBoldItalic.ttf OpenSans-ExtraBoldItalic.ttf
ADD fonts/Kh-Content.ttf Kh-Content.ttf
ADD fonts/Kh-Siemreap.ttf Kh-Siemreap.ttf
ADD fonts/* ./
RUN fc-cache -fv
WORKDIR /
ADD entrypoint.sh /entrypoint.sh
EXPOSE 8080
ENTRYPOINT ["highcharts-export-server", "--enableServer", "1", "--port", "8080"]
EXPOSE ${PORT:-8080}
ENTRYPOINT ["/entrypoint.sh"]

20
Dockerfile.arm Normal file
View File

@ -0,0 +1,20 @@
FROM --platform=linux/arm64 node:alpine
LABEL maintainer="sombochea@cubetiqs.com"
RUN apk add --no-cache chromium nss freetype harfbuzz ca-certificates ttf-freefont
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
ENV NODE_ENV production
ENV ACCEPT_HIGHCHARTS_LICENSE="YES"
RUN npm i -g @cubetiq/highcharts-export-server@latest
WORKDIR /usr/share/fonts/truetype
ADD fonts/* ./
RUN fc-cache -fv
WORKDIR /
ADD entrypoint.sh /entrypoint.sh
EXPOSE ${PORT:-8080}
ENTRYPOINT ["/entrypoint.sh"]

View File

@ -1,4 +1,5 @@
DOCKER_IMAGE=cubetiq/highcharts-export-server
DOCKER_IMAGE=cubetiq/highcharts-export-server:latest
DOCKER_IMAGE_ARM=cubetiq/highcharts-export-server:arm
build:
@echo 'Starting docker build'
@ -7,4 +8,11 @@ build:
@echo 'Starting docker push'
docker push ${DOCKER_IMAGE}
@echo 'Starting docker buildx push'
docker buildx build --platform linux/arm64,linux/arm/v7 -f Dockerfile.arm -t ${DOCKER_IMAGE_ARM} --push .
run-test:
@echo 'Starting docker run'
docker run --rm -e PORT=5000 -e HIGHCHARTS_NO_LOGO=true -e HIGHCHARTS_UI_ENABLE=true -e HIGHCHARTS_UI_ROUTE=/ui --name hc-server -p 8080:5000 ${DOCKER_IMAGE}
.PHONY:build

6
entrypoint.sh Executable file
View File

@ -0,0 +1,6 @@
#!/bin/sh
PORT=${PORT:-8080}
HIGHCHARTS_LOG_LEVEL=${HIGHCHARTS_LOG_LEVEL:-1}
highcharts-export-server --enableServer 1 --port $PORT --logLevel $HIGHCHARTS_LOG_LEVEL

BIN
fonts/KantumruyPro-Bold.ttf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
fonts/KantumruyPro-Thin.ttf Normal file

Binary file not shown.

Binary file not shown.

9
scripts/build-arm.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/bash
TAG=arm
REGISTRY=registry1.ctdn.net/cubetiq
IMAGE=highcharts-export-server
CONTAINER=${REGISTRY}/${IMAGE}:${TAG}
echo "Building container image with ${CONTAINER} for arm platform"
docker buildx build --platform linux/arm64 -f Dockerfile.arm -t ${CONTAINER} --push .

View File

@ -1,7 +1,7 @@
#!/bin/bash
TAG=latest
REGISTRY=registry.kh.cubetiqs.com
REGISTRY=registry1.ctdn.net/cubetiq
IMAGE=highcharts-export-server
CONTAINER=${REGISTRY}/${IMAGE}:${TAG}

View File

@ -7,4 +7,4 @@ echo "Run the container..."
docker run --name highcharts-export-server \
-p 8080:8080 \
--restart always \
-d registry.kh.cubetiqs.com/highcharts-export-server
-d registry1.ctdn.net/cubetiq/highcharts-export-server