mirror of
https://github.com/hcengineering/platform.git
synced 2026-09-27 12:04:56 +02:00
Docker base images (#7651)
Signed-off-by: Andrey Sobolev <haiodo@gmail.com>
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# This is a basic workflow to help you get started with Actions
|
||||
|
||||
name: Docker base image
|
||||
|
||||
concurrency:
|
||||
group: 'service-base'
|
||||
cancel-in-progress: true
|
||||
|
||||
# Controls when the action will run.
|
||||
on:
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
|
||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||
jobs:
|
||||
docker-build:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 60
|
||||
steps:
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
- name: Configure docker
|
||||
uses: crazy-max/ghaction-setup-docker@v3
|
||||
with:
|
||||
daemon-config: |
|
||||
{
|
||||
"features": {
|
||||
"containerd-snapshotter": true
|
||||
}
|
||||
}
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 1
|
||||
filter: tree:0
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: latest
|
||||
- name: Docker build
|
||||
run: |
|
||||
cd ./dev/base-image
|
||||
./build.sh
|
||||
env:
|
||||
DOCKER_CLI_HINTS: false
|
||||
DOCKER_EXTRA: --platform=linux/amd64,linux/arm64
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: hardcoreeng
|
||||
password: ${{ secrets.DOCKER_ACCESS_TOKEN }}
|
||||
- name: Publish base image
|
||||
run: |
|
||||
echo Pushing base image
|
||||
cd ./dev/base-image
|
||||
./publish.sh
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
FROM node:22
|
||||
|
||||
RUN apt-get install libjemalloc2 dumb-init
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
WORKDIR /usr/src/app
|
||||
ENV NODE_ENV=production
|
||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate snappy msgpackr msgpackr-extract --unsafe-perm
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
docker build -t hardcoreeng/base -f base.Dockerfile .
|
||||
docker build -t hardcoreeng/rekoni-base -f rekoni.Dockerfile .
|
||||
docker build -t hardcoreeng/print-base -f print.Dockerfile .
|
||||
@@ -0,0 +1,15 @@
|
||||
FROM hardcoreeng/base
|
||||
|
||||
# We don't need the standalone Chromium
|
||||
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
|
||||
# Set executable path for puppeteer
|
||||
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
|
||||
|
||||
# Install Chromium and fonts
|
||||
# https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md?plain=1#L397
|
||||
RUN apt-get update --fix-missing
|
||||
RUN apt-get install -y gnupg wget libxss1
|
||||
RUN apt-get install -y fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf
|
||||
RUN apt-get install -y chromium-common/stable --no-install-recommends
|
||||
RUN apt-get install -y chromium/stable --no-install-recommends
|
||||
RUN apt-get clean
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
docker push hardcoreeng/base
|
||||
docker push hardcoreeng/rekoni-base
|
||||
docker push hardcoreeng/print-base
|
||||
@@ -0,0 +1,9 @@
|
||||
FROM hardcoreeng/base
|
||||
|
||||
RUN apt-get install -y \
|
||||
coreutils \
|
||||
antiword \
|
||||
poppler-utils \
|
||||
html2text \
|
||||
unrtf
|
||||
RUN npm install --ignore-scripts=false --verbose sharp@v0.30.2 pdfjs-dist@v2.12.313 --unsafe-perm
|
||||
Reference in New Issue
Block a user