Skip to content

Build Docker Image #331

Build Docker Image

Build Docker Image #331

Workflow file for this run

name: Build Docker Image
on:
push:
branches:
- 'master'
- 'main'
workflow_dispatch:
inputs:
version:
description: 'Version e.g 0.1'
required: false
type: string
default: 'latest'
env:
VERSION: latest
jobs:
docker:
runs-on: ubuntu-latest
strategy:
matrix:
config:
- { tag: "base", dockerfile: "anonymization/Dockerfile", context: "anonymization"}
- { tag: "base-apps", dockerfile: "apps/Dockerfile", context: "apps"}
- { tag: "inception-minio", dockerfile: "inception/inception-minio/Dockerfile", context: "inception/inception-minio"}
- { tag: "inception-minio-mariadb", dockerfile: "inception/inception-minio-mariadb/Dockerfile", context: "inception/inception-minio-mariadb"}
#- { tag: "shinyproxy-3.0.2", dockerfile: "shinyproxy/3.0.2/Dockerfile", context: "shinyproxy/3.0.2"}
- { tag: "shinyproxy-3.1.1", dockerfile: "shinyproxy/3.1.1/Dockerfile", context: "shinyproxy/3.1.1"}
- { tag: "shinyproxy-3.2.0", dockerfile: "shinyproxy/3.2.0/Dockerfile", context: "shinyproxy/3.2.0"}
- { tag: "rstudio", dockerfile: "development/rstudio/Dockerfile", context: "development/rstudio"}
- { tag: "vscode", dockerfile: "development/vscode/Dockerfile", context: "development/vscode"}
- { tag: "ollama-llama3.2", dockerfile: "ollama/Dockerfile", context: "ollama", OLLAMA_MODEL: "llama3.2:3b"}
- { tag: "ollama-deepseek-r1-7b", dockerfile: "ollama/Dockerfile", context: "ollama", OLLAMA_MODEL: "deepseek-r1:7b"}
- { tag: "ollama-deepseek-r1-14b-qwen-distill-q4", dockerfile: "ollama/Dockerfile", context: "ollama", "OLLAMA_MODEL": "deepseek-r1:14b-qwen-distill-q4_K_M"}
- { tag: "ollama-deepscaler-1.5b", dockerfile: "ollama/Dockerfile", context: "ollama", "OLLAMA_MODEL": "deepscaler:1.5b"}
- { tag: "ollama-deepscaler-1.5b-preview-q8-0", dockerfile: "ollama/Dockerfile", context: "ollama", "OLLAMA_MODEL": "deepscaler:1.5b-preview-q8_0"}
- { tag: "ollama-gemma3-12b-it-qat-q4_0", dockerfile: "ollama/Dockerfile", context: "ollama", "OLLAMA_MODEL": "hf.co/Dampfinchen/google-gemma-3-12b-it-qat-q4_0-gguf-small-fix"}
- { tag: "ollama-gemma3-4b-it-qat-q4_0", dockerfile: "ollama/Dockerfile", context: "ollama", "OLLAMA_MODEL": "hf.co/Dampfinchen/google-gemma-3-4b-it-qat-q4_0-gguf-small-fix"}
- { tag: "ollama-gemma3-27b-it-qat", dockerfile: "ollama/Dockerfile", context: "ollama", "OLLAMA_MODEL": "gemma3:27b-it-qat"}
- { tag: "ollama-gemma3-12b-it-qat", dockerfile: "ollama/Dockerfile", context: "ollama", "OLLAMA_MODEL": "gemma3:12b-it-qat"}
- { tag: "ollama-gemma3-4b-it-qat", dockerfile: "ollama/Dockerfile", context: "ollama", "OLLAMA_MODEL": "gemma3:4b-it-qat"}
- { tag: "prefect-example", dockerfile: "development/test/prefectexample/Dockerfile", context: "development/test/prefectexample"}
- { tag: "prefect-inspect", dockerfile: "development/test/prefectinspect/Dockerfile", context: "development/test/prefectinspect"}
steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
tool-cache: true
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: false
swap-storage: true
- name: Clone
uses: actions/checkout@v3
- name: Set version of the images
run: |
if [[ "${{ github.ref_name }}" =~ ^[0-9] ]]; then
echo "VERSION=${{ github.ref_name }}" >> $GITHUB_ENV
echo $VERSION
fi
if [ -n "${{ github.event.inputs.version }}" ]; then
echo "VERSION=${{ github.event.inputs.version }}" >> $GITHUB_ENV
echo $VERSION
fi
- name: Print version of images
run: echo "ghcr.io/bnosac/blackbar-${{ matrix.config.tag }}:${{ env.VERSION }}"
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
# - name: Login to DockerHub
# uses: docker/login-action@v2
# with:
# username: ${{ secrets.DOCKERHUB_USERNAME }}
# password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GHCR (GitHub Packages)
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# - name: Login to datatailor
# uses: docker/login-action@v2
# with:
# registry: registry.datatailor.be
# username: ${{ secrets.DATATAILOR_REGISTRY_USER }}
# password: ${{ secrets.DATATAILOR_REGISTRY_PWD }}
# - name: Install huggingface-hub
# shell: bash
# run: |
# pipx install uv
# pipx install huggingface-hub
# mkdir -p ~/.cache/huggingface
# echo "${{ secrets.HF_PASSWORD }}" > ~/.cache/huggingface/token
# git config --global credential.helper store
# git config --global credential.https://huggingface.co.username ${{ secrets.HF_USERNAME }}
# git config --global credential.https://huggingface.co.password ${{ secrets.HF_PASSWORD }}
# # huggingface-cli whoami
- name: Build and push ghcr.io
uses: docker/build-push-action@v5
with:
context: ${{ matrix.config.context }}
push: ${{ github.event_name == 'workflow_dispatch' }}
tags: "ghcr.io/bnosac/blackbar-${{ matrix.config.tag }}:${{ env.VERSION }}"
file: ${{ matrix.config.dockerfile }}
build-args: |
OLLAMA_MODEL=${{ matrix.config.OLLAMA_MODEL }}
# HF_PASSWORD=${{ secrets.HF_PASSWORD }}
# secret-envs: |
# HF_PASSWORD=${{ secrets.HF_PASSWORD }}
# - name: Build and push Dockerhub
# uses: docker/build-push-action@v5
# with:
# context: ${{ matrix.config.context }}
# push: ${{ github.event_name == 'workflow_dispatch' }}
# tags: "bnosac/blackbar-${{ matrix.config.tag }}:${{ env.VERSION }}"
# file: ${{ matrix.config.dockerfile }}
# - name: Build and push registry.datatailor.be
# uses: docker/build-push-action@v5
# with:
# context: ${{ matrix.config.context }}
# push: ${{ github.event_name == 'workflow_dispatch' }}
# tags: "registry.datatailor.be/blackbar-${{ matrix.config.tag }}:${{ env.VERSION }}"
# file: ${{ matrix.config.dockerfile }}