Compare commits

..

5 Commits

Author SHA1 Message Date
8ef3049563 Add support for config ui 2023-12-13 19:23:22 +07:00
d5f4f5d213 Updated arm file 2023-12-13 12:50:36 +07:00
b6319fbc8a Fixed the chrome missing in deps 2023-12-13 12:45:14 +07:00
d84e659b36 Add build for arm too 2023-12-13 12:23:07 +07:00
11314baac4 Add highcharts latest version and add more fonts 2023-12-13 12:12:28 +07:00
24 changed files with 71 additions and 25 deletions

View File

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

View File

@@ -3,7 +3,7 @@ name: Docker CI Private
on: on:
push: push:
branches: branches:
- master - main
jobs: jobs:
build: build:
@@ -16,4 +16,4 @@ jobs:
- name: Sign-in to Private Registry "${REGISTRY}" - name: Sign-in to Private Registry "${REGISTRY}"
run: docker login $REGISTRY -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} run: docker login $REGISTRY -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
- name: Building Docker Image - 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: on:
push: push:
branches: branches:
- 'master' - 'main'
jobs: jobs:
docker: docker:

View File

@@ -1,25 +1,26 @@
FROM node:14.16.0 FROM node:alpine
LABEL maintainer="sombochea@cubetiqs.com" 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" 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 WORKDIR /usr/share/fonts/truetype
ADD fonts/OpenSans-Regular.ttf OpenSans-Regular.ttf ADD fonts/* ./
ADD fonts/OpenSans-Light.ttf OpenSans-Light.ttf RUN fc-cache -fv
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
WORKDIR / WORKDIR /
ADD entrypoint.sh /entrypoint.sh
EXPOSE 8080 EXPOSE ${PORT:-8080}
ENTRYPOINT ["highcharts-export-server", "--enableServer", "1", "--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: build:
@echo 'Starting docker build' @echo 'Starting docker build'
@@ -7,4 +8,11 @@ build:
@echo 'Starting docker push' @echo 'Starting docker push'
docker push ${DOCKER_IMAGE} 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 .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 #!/bin/bash
TAG=latest TAG=latest
REGISTRY=registry.kh.cubetiqs.com REGISTRY=registry1.ctdn.net/cubetiq
IMAGE=highcharts-export-server IMAGE=highcharts-export-server
CONTAINER=${REGISTRY}/${IMAGE}:${TAG} CONTAINER=${REGISTRY}/${IMAGE}:${TAG}

View File

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