FreeCAD
Parametric 3D CAD modeller
FreeCAD is a parametric 3D CAD modeller with sketching, assemblies, FEM, and a Python console, streamed here in a remote desktop session and backed by remote compute. It builds on the Void Desktop image — FreeCAD launches maximized with the window decorations and taskbar hidden, so the viewport fills the screen.
Usage
1. Deploy
dxflow workflow create --identity freecad hub://freecad
# Start with defaults, or tune per run with --override
dxflow workflow start freecad
dxflow workflow start freecad \
--override env.app.VNC_PASSWORD=my-strong-pass \
--override env.app.TASKBAR=show
# Publish the web port on an HTTPS link
dxflow workflow start freecad --link
2. Open the app
Open your browser at http://localhost:6082/vnc.html and enter the password you set in VNC_PASSWORD. FreeCAD is already running and maximized. Port 5901 is also exposed for connecting a native VNC client. A start given --link publishes port 6082 at an HTTPS URL printed on the start line — open it at /vnc.html to reach FreeCAD from anywhere.
3. Persist data
Anything under /volume persists across restarts — save your work there to keep it.
Configuration
name: freecad
tags:
- engineering
steps:
- name: app
runtime: docker
mode: parallel
image: ghcr.io/dxflow-ai/freecad:latest
volumes:
- name: volume
host: ./volume
container: /volume
ports:
- name: web
host: "6082"
container: "6082"
- name: vnc
host: "5901"
container: "5901"
- name: audio
host: "6100"
container: "6100"
env:
- VNC_PASSWORD=dxflow
- WALLPAPER=show
- PANEL=hide
- TASKBAR=hide
- AUDIO=off
- AUDIO_PORT=6100
- AUDIO_CHANNELS=1
- AUDIO_RATE=22050
resources:
cpu: "4"
memory: 8G
link: web
[volume]
app.volume = ./volume
[port]
app.web = 6082
app.vnc = 5901
app.audio = 6100
[env]
app.VNC_PASSWORD = dxflow
app.WALLPAPER = show
app.PANEL = hide
app.TASKBAR = hide
app.AUDIO = off
app.AUDIO_PORT = 6100
app.AUDIO_CHANNELS = 1
app.AUDIO_RATE = 22050
[resource]
app.cpu = 4
app.memory = 8G
{
"arch": ["amd64", "arm64"],
"image": "ghcr.io/dxflow-ai/freecad:latest",
"version": "1.1.3",
"size": {
"amd64": "685M",
"arm64": "674M"
},
"minimum": {
"cpu": 2,
"memory": "4G",
"storage": "20G"
}
}
Notes
- Set a strong
VNC_PASSWORD; it defaults todxflow, which every reader of this page knows. - The panel and taskbar are hidden by default so the viewport fills the screen. Set
PANEL=showorTASKBAR=showto bring back the window decorations and taskbar. - Audio: off by default. Set
AUDIO=onto stream desktop sound; tune withAUDIO_CHANNELS(1 or 2) andAUDIO_RATE(8000/16000/22050/32000/44100). The audio port isAUDIO_PORT(default6100) — the client follows it, so to run two sessions on one host give each its own port by settingAUDIO_PORTand the matchingaudioport mapping together. - Neither Ubuntu 26.04 nor Fedora 44 packages FreeCAD, which is why this entry sits on the Void desktop.