diff --git a/.github/workflows/container-image.yml b/.github/workflows/container-image.yml
new file mode 100644
index 0000000..e12531e
--- /dev/null
+++ b/.github/workflows/container-image.yml
@@ -0,0 +1,45 @@
+name: Container Build and Release
+
+on:
+  push:
+    paths-ignore:
+      - '**.md'
+    branches:
+      - '**'
+  pull_request:
+    paths-ignore:
+      - '**.md'
+  workflow_dispatch:
+
+jobs:
+  build-release-container:
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v4
+      with:
+        ref: 'main'
+
+    - name: Set up QEMU
+      uses: docker/setup-qemu-action@v2
+
+    - name: Login to GitHub Container Registry
+      uses: docker/login-action@v2
+      with:
+       registry: ghcr.io
+       username: ${{ github.actor }}
+       password: ${{ secrets.GITHUB_TOKEN }}
+
+    - name: Set up Docker Buildx
+      uses: docker/setup-buildx-action@v2
+
+    - name: Build and push container to ghcr
+      id: docker_build
+      uses: docker/build-push-action@v3
+      with:
+        platforms: linux/amd64
+        push: true
+        file: Containerfile
+        tags: ghcr.io/bbusse/compost-sensor:latest
+
+    - name: Image digest
+      run: echo ${{ steps.docker_build.outputs.digest }}