Added slicer build config
Build ElegooSlicer Container / check-and-build (push) Failing after 24s

This commit is contained in:
René Halberstadt
2026-09-26 09:10:54 +02:00
parent 26bb7adbee
commit b647bfd14b
2 changed files with 101 additions and 0 deletions
+84
View File
@@ -0,0 +1,84 @@
name: Build ElegooSlicer Container
on:
workflow_dispatch:
push:
branches:
- main
schedule:
- cron: '0 4 * * *'
permissions:
contents: read
packages: write
jobs:
check-and-build:
runs-on: docker-runner
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Determine Registry & Image Path
id: meta
run: |
if [ "${{ github.server_url }}" = "https://github.com" ]; then
REGISTRY="ghcr.io"
else
REGISTRY=$(echo "${{ github.server_url }}" | sed -e 's|^[^/]*/\+/||')
fi
IMAGE_NAME=$(echo "${{ github.repository }}" | tr '[:upper:]' '[:lower:]')
FULL_IMAGE_NAME="$REGISTRY/$IMAGE_NAME"
echo "registry=$REGISTRY" >> "$GITHUB_OUTPUT"
echo "full_image_name=$FULL_IMAGE_NAME" >> "$GITHUB_OUTPUT"
- name: Login to Container Registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Check Elegoo Upstream Release & Local Image Tag
id: check_tag
run: |
RELEASE_JSON=$(curl -s https://api.github.com/repos/ELEGOO-3D/ElegooSlicer/releases/latest)
DOWNLOAD_URL=$(echo "$RELEASE_JSON" | grep -o 'https://[^"]*Linux[^"]*\.AppImage' | head -n 1)
TAG_NAME=$(echo "$RELEASE_JSON" | grep -o '"tag_name": "[^"]*' | cut -d'"' -f4)
if [ -z "$DOWNLOAD_URL" ] || [ -z "$TAG_NAME" ]; then
echo "Error: Could not parse release data"
exit 1
fi
echo "Newest Elegoo-Tag: $TAG_NAME"
TARGET_IMAGE="${{ steps.meta.outputs.full_image_name }}:$TAG_NAME"
if docker manifest inspect "$TARGET_IMAGE" > /dev/null 2>&1; then
echo "Image $TARGET_IMAGE exists in registry"
echo "build_needed=false" >> "$GITHUB_OUTPUT"
else
echo "Image $TARGET_IMAGE does not exist in registry, lets build it"
echo "build_needed=true" >> "$GITHUB_OUTPUT"
echo "url=$DOWNLOAD_URL" >> "$GITHUB_OUTPUT"
echo "tag=$TAG_NAME" >> "$GITHUB_OUTPUT"
fi
- name: Set up Docker Buildx
if: steps.check_tag.outputs.build_needed == 'true' || github.event_name == 'workflow_dispatch'
uses: docker/setup-buildx-action@v3
- name: Build and Push
if: steps.check_tag.outputs.build_needed == 'true' || github.event_name == 'workflow_dispatch'
uses: docker/build-push-action@v5
with:
context: .
push: true
build-args: |
SLICER_URL=${{ steps.check_tag.outputs.url }}
tags: |
${{ steps.meta.outputs.full_image_name }}:latest
${{ steps.meta.outputs.full_image_name }}:${{ steps.check_tag.outputs.tag }}
+17
View File
@@ -0,0 +1,17 @@
services:
elegooslicer:
image: https://gitea.root-zone.info/homelab/elegoo-slicer-image:latest
container_name: elegooslicer
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
volumes:
- ./config:/config
ports:
- 3000:3000
- 3001:3001
devices:
- /dev/dri:/dev/dri
shm_size: "1gb"
restart: unless-stopped