Skip to content

Switch to Github latest release #7

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

tinuva
Copy link

@tinuva tinuva commented May 13, 2025

linuxserver.io


  • [ yes ] I have read the contributing guideline and understand that I have made the correct modifications

Description:

Switch away from debian package (still outdated at 0.20.2) to the github appimage release.

Benefits of this PR and context:

In short, currently it provides Freecad 1.0 which is much improved over 0.20.2

Updated to always point to the "latest" release by default. However I did test and it is possible to use 0.20.2 as a build arg to build 0.20.2 as an example. The weekly release I think will only work, if they contain an asset for x86_64 or aarch64 which sometimes for me didn't work.

So, unlike PR #6 this does not have the release hardcoded. I used the orcaslicer repo for inspiration.

How Has This Been Tested?

Built the latest version using command:

sudo docker build --pull -t lscr.io/linuxserver/freecad:latest .
[+] Building 187.2s (9/9) FINISHED                                                                                    docker:default
 => [internal] load build definition from Dockerfile                                                                            0.0s
 => => transferring dockerfile: 1.86kB                                                                                          0.0s
 => [internal] load metadata for ghcr.io/linuxserver/baseimage-kasmvnc:debianbookworm                                           1.0s
 => [internal] load .dockerignore                                                                                               0.0s
 => => transferring context: 2B                                                                                                 0.0s
 => [1/4] FROM ghcr.io/linuxserver/baseimage-kasmvnc:debianbookworm@sha256:95f38d7a3e4b3fff3ceffca10029b5f227c26c49e2ad9d6d9  100.2s
 => => resolve ghcr.io/linuxserver/baseimage-kasmvnc:debianbookworm@sha256:95f38d7a3e4b3fff3ceffca10029b5f227c26c49e2ad9d6d9ea  0.0s
 => => sha256:95f38d7a3e4b3fff3ceffca10029b5f227c26c49e2ad9d6d9ea0cf1abb93f8f4 1.61kB / 1.61kB                                  0.0s
 => => sha256:b670f148d66d3a8ed91a7e801f190abeca727ad667892c4175d94360c46a6637 2.39kB / 2.39kB                                  0.0s
 => => sha256:c26e55e577302828e50ed3cfedf76bf2f0ab51c41e5f7c8c0b04da3d73adb593 31.53MB / 31.53MB                                3.5s
 => => sha256:92fc290345a0d705aeb69ffc81c3bd74172d00226634c1c9e4a350795654f8f8 17.27kB / 17.27kB                                0.0s
 => => sha256:c0f8eff906b8b4379c387842515be0c1cca71b1826474bd58a4f4e3018ed9b9c 6.21kB / 6.21kB                                  0.6s
 => => sha256:149b11207ddc1518f3e6e7edfe7b55f940831f88b473c835db158d9135fcd769 1.36kB / 1.36kB                                  0.6s
 => => sha256:3b19f8671f7f5c6b835a23c9f6057d89c16fd66303326ab8d72e2203a33adfe2 429B / 429B                                      1.1s
 => => sha256:0d0a23f7e8cde2ef576cd27e08158fbb5de25f94004434bf12a020880bbb25e9 705B / 705B                                      1.1s
 => => sha256:908b06508210d32ec96d3f6020ab5297bb2b80b276a1f21d6a9dcc81de64cc26 18.98MB / 18.98MB                                4.7s
 => => sha256:8b1a68978b6c63f097b88bf79f231bef19fea8d86cf0ab6a277cf1818e47b104 3.92kB / 3.92kB                                  1.7s
 => => sha256:c771bbb0026511cce601be8173e053a00c568bc0ea9dee4809552b63d2d3dea7 2.57MB / 2.57MB                                  4.2s
 => => sha256:a9339642bebf2365160ca5bffa7436fa9aaa18561bfdaeaabcba91f402f46491 20.58MB / 20.58MB                                6.9s
 => => extracting sha256:c26e55e577302828e50ed3cfedf76bf2f0ab51c41e5f7c8c0b04da3d73adb593                                       2.5s
 => => sha256:12c11a0747a25fe4612a682c7d3a24d36c5153f382b1079cf8cf22ef48695a0c 819.71MB / 819.71MB                             70.3s
 => => sha256:cb4f7800cc5138152552f9dd14777b700946987cb5b66776d78d74fa37f7d258 14.20kB / 14.20kB                                5.3s
 => => extracting sha256:c0f8eff906b8b4379c387842515be0c1cca71b1826474bd58a4f4e3018ed9b9c                                       0.0s
 => => extracting sha256:149b11207ddc1518f3e6e7edfe7b55f940831f88b473c835db158d9135fcd769                                       0.0s
 => => extracting sha256:0d0a23f7e8cde2ef576cd27e08158fbb5de25f94004434bf12a020880bbb25e9                                       0.0s
 => => extracting sha256:3b19f8671f7f5c6b835a23c9f6057d89c16fd66303326ab8d72e2203a33adfe2                                       0.0s
 => => extracting sha256:908b06508210d32ec96d3f6020ab5297bb2b80b276a1f21d6a9dcc81de64cc26                                       1.1s
 => => extracting sha256:8b1a68978b6c63f097b88bf79f231bef19fea8d86cf0ab6a277cf1818e47b104                                       0.0s
 => => extracting sha256:c771bbb0026511cce601be8173e053a00c568bc0ea9dee4809552b63d2d3dea7                                       0.4s
 => => extracting sha256:a9339642bebf2365160ca5bffa7436fa9aaa18561bfdaeaabcba91f402f46491                                       1.1s
 => => extracting sha256:12c11a0747a25fe4612a682c7d3a24d36c5153f382b1079cf8cf22ef48695a0c                                      29.2s
 => => extracting sha256:cb4f7800cc5138152552f9dd14777b700946987cb5b66776d78d74fa37f7d258                                       0.0s
 => [internal] load build context                                                                                               0.0s
 => => transferring context: 143B                                                                                               0.0s
 => [2/4] RUN   echo "**** add icon ****" &&   curl -o   /usr/share/icons/hicolor/48x48/apps/freecad.png   https://raw.githubu  0.9s
 => [3/4] RUN   echo " install freecad from appimage " &&   if [ -z ${FREECAD_VERSION+x} ]; then     FREECAD_URL=$(curl -sX G  66.8s
 => [4/4] COPY /root /                                                                                                          0.1s
 => exporting to image                                                                                                         18.1s
 => => exporting layers                                                                                                        18.0s
 => => writing image sha256:29bdce73f8e1e506f950c6c006bad7794a5e317a94eb6d839ece182074525275                                    0.0s
 => => naming to lscr.io/linuxserver/freecad:latest                                                                             0.0s

Then stopped my container, deleted it and used docker compose to load it up. I then browsed to the url to confirm version 1.0.0 is installed and usable.

docker-compse:

  freecad:
    image: lscr.io/linuxserver/freecad:latest
    container_name: freecad
    security_opt:
      - seccomp:unconfined #optional
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
      - DRINODE=/dev/dri/renderD128  # Specify the Intel GPU rendering device
    volumes:
      - /mnt/tank/docker/apps/freecad:/config
      - /mnt/tank/docker/apps/nextcloud/html/data/tinuva/files:/Files
    devices:
      - /dev/dri:/dev/dri  # Mount the DRI devices into the container
    #ports:
    #  - 3000:3000
    #  - 3001:3001
    restart: unless-stopped
    labels:
      - "traefik.http.routers.freecad-secure.middlewares=basic-auth@file" #basic-auth@file #oauth@file
      - "traefik.enable=true"
      - "traefik.http.routers.freecad-secure.tls=true"
      - "traefik.http.services.freecad.loadbalancer.server.port=3000"

In the browser, it looks like this:
Screenshot 2025-05-13 at 7 04 25 PM

Tested the version ARG with:

sudo docker build --build-arg FREECAD_VERSION="0.20.2" --no-cache --pull -t lscr.io/linuxserver/freecad:0.20.2 .

This also worked in the browser showing the expected version is installed.

Source / References:

Closes #4

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for opening this pull request! Be sure to follow the pull request template!

@tinuva
Copy link
Author

tinuva commented May 13, 2025

The arm version fails to build, because Jenkins is building 0.20.2 which on github doesnt have a binary for arm64

I am not sure how to get the jenkins server to build 1.0.0 version. However it definitely works locally for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

[FEAT] Freecad at it's 1.0 version
1 participant