FreeCAD Logo FreeCAD 1.0
  • English Afrikaans Arabic Belarusian Catalan Czech German Greek Spanish Spanish Basque Finnish Filipino French Galician Croatian Hungarian Indonesian Italian Japanese Kabyle Korean Lithuanian Dutch Norwegian Bokmal Polish Portuguese Portuguese Romanian Russian Slovak Slovenian Serbian Swedish Turkish Ukrainian Valencian Vietnamese Chinese Chinese
  • Features
  • Download
  • Blog
  • Documentation
    Documentation index Getting started Users documentation The FreeCAD manual Workbenches documentation Python coding documentation C++ coding documentation Tutorials Frequently asked questions Privacy policy About FreeCAD
  • Contribute
    How to help Sponsor Report a bug Make a pull request Jobs and funding Contribution guidelines Developers handbook Translations
  • Community
    Code of conduct Forum The FPA GitHub GitLab Codeberg Mastodon Matrix IRC IRC via Webchat Gitter Discord Reddit Twitter Facebook LinkedIn Calendar
  • ♥ Donate

Donate

$
SEPA Information
Please set up your SEPA bank transfer to:
Beneficiary: The FreeCAD project association
IBAN: BE04 0019 2896 4531
BIC/SWIFT: GEBABEBBXXX
Bank agency: BNP Paribas Fortis
Address: Rue de la Station 64, 1360 Perwez, Belgium

While Stripe doesn't support monthly donations, you can still become a sponsor! Simply make a one-time donation equivalent to 12 months of support, and you'll gain access to the corresponding sponsoring tier. It's an easy and flexible way to contribute.

If you are not sure or not able to commit to a regular donation, but still want to help the project, you can do a one-time donation, of any amount.

Choose freely the amount you wish to donate one time only.

You can support FreeCAD by sponsoring it as an individual or organization through various platforms. Sponsorship provides a steady income for developers, allowing the FPA to plan ahead and enabling greater investment in FreeCAD. To encourage sponsorship, we offer different tiers, and unless you choose to remain anonymous, your name or company logo will be featured on our website accordingly.

from 1 USD / 1 EUR per month. You will not have your name displayed here, but you will have helped the project a lot anyway. Together, normal sponsors maintain the project on its feet as much as the bigger sponsors.

from 25 USD / 25 EUR per month. Your name or company name is displayed on this page.

from 100 USD / 100 EUR per month. Your name or company name is displayed on this page, with a link to your website, and a one-line description text.

from 200 USD / 200 EUR per month. Your name or company name and logo displayed on this page, with a link to your website and a custom description text. Companies that have helped FreeCAD early on also appear under Gold sponsors.

Instead of donating each month, you might find it more comfortable to make a one-time donation that, when divided by twelve, would give you right to enter a sponsoring tier. Don't hesitate to do so!

Choose freely the amount you wish to donate each month.

Please inform your forum name or twitter handle as a notein your transfer, or reach to us, so we can give you proper credits!

Compile on Docker

Overview

Among the options for building and installing FreeCAD, there is the option of using Docker. This method is primarily useful for FreeCAD developers, using Linux or Mac OS computers.

Benefits

All of FreeCAD\'s dependencies are already installed, compatible with each other, and configured appropriately, allowing you to get started developing very quickly.

  • The dependencies are contained within the docker container, preventing any unwanted packages contaminating your workstation, and preventing any clashing versions.
  • The source code and build directories are outside the docker container. This allows you to use your preferred editors, versioning systems, dev tools etc, without having to set them up in the docker container. You can just use them as normal, right from your workstation. (Also, it means you don\'t have to rebuild the docker container each time you want to build FreeCAD.)
  • For those using obscure *nix distros and instructions are not available for fetching dependencies, all you need to install on your workstation is docker, which is quite commonly available across many distributions.
  • It provides a static, immutable development environment. I personally find this useful when developing to reduce the number of potential variables that could be causing an issue. You know you\'ve not altered something esoteric in the environment between builds. For developers collaborating, and both using the same docker container, you can be sure you\'re both working from the same environment, which reduces communication errors caused by differences in environment.

Docker Repository

  • Original: https://gitlab.com/daviddaish/freecad_docker_env
  • Official: https://GitHub.com/FreeCAD/Docker

Prerequisites

  • 10GB of free storage
  • Docker

Installation

Download the source

The best way to get FreeCAD\'s source code is to clone the Git repository. For this you need the git program which can be easily installed in most Linux and Mac OS distributions, and it can also be obtained from the official website.

This will place a copy of the latest version of the FreeCAD source code in a new directory called freecad_source.

{{Code|lang=bash|code= git clone --recurse-submodules https://github.com/FreeCAD/FreeCAD.git ~/my_code/freecad_source }}

For more information on using Git, and contributing code to the project, see Source code management.

Create build directory

Create a directory to hold your compiled FreeCAD source.

{{Code|lang=bash|code= mkdir ~/my_code/freecad_build }}

Pull Docker image

Pull the Docker image. (Official image coming soon.)

{{Code|lang=bash|code= docker pull registry.gitlab.com/daviddaish/freecad_docker_env:latest }}

Allow access to your window manager

In order for FreeCAD to launch it\'s GUI from within the Docker container, you need to give Docker access permissions to your window manager. In most Linux distributions, this is the X window system. You can use the below command to allow blanket access to X, until you reboot or logoff your computer.

{{Code|lang=bash|code= xhost + }}

If you\'re connected to any untrusted systems, such as via ssh, this will make you vulnerable to malicious code. Either close any ssh connections, or look into more secure xhost permissions, which is outside the scope of this tutorial.

Mac OS users

For those using Mac OS, the X window system may not be installed. The XQuartz project is a long running open source project that will allow you to add it to your computer. You can find it here.

Launch the docker image

Assign environment variables so the Docker container will mount FreeCAD\'s source code, and build directory. In addition, you can mount an extra directory to contain any files you\'d like to use for testing purposes. In the below snippet, we\'ve left it as your home directory as a simple default.

{{Code|lang=bash|code= fc_source=~/my_code/freecad_source fc_build=~/my_code/freecad_build other_files=~/ }}

Launch the Docker image.

{{Code|lang=bash|code= docker run -it --rm \ -v $fc_source:/mnt/source \ -v $fc_build:/mnt/build \ -v $other_files:/mnt/files \ -e "DISPLAY" -e "QT_X11_NO_MITSHM=1" -v /tmp/.X11-unix:/tmp/.X11-unix:ro \ registry.gitlab.com/daviddaish/freecad_docker_env:latest }}

Build FreeCAD

You can build FreeCAD using the installed build script, or using your preferred method.

{{Code|lang=bash|code= /root/build_script.sh }}

Run FreeCAD

Once FreeCAD has been built, it can be run as normal.

{{Code|lang=bash|code= /mnt/build/bin/FreeCAD }}

You can find the attached directories in the /mnt directory.

Discussion

  • Docker env build container
  • VSCode setup with Docker (1)
  • VSCode setup with Docker (2)

Related

  • AppImage

⏵ documentation index > Developer > Developer Documentation > Compile on Docker

This page is retrieved from https://github.com/FreeCAD/FreeCAD-documentation/blob/main/wiki/Compile_on_Docker.md

Get in touch!
Forum GitHub Mastodon Matrix IRC Gitter.im Discord Reddit Twitter Facebook LinkedIn

© The FreeCAD Team. Homepage image credits (top to bottom): ppemawm, r-frank, epileftric, regis, rider_mortagnais, bejant.

This project is supported by: , KiCad Services Corp. and other sponsors

GitHubImprove this page on GitHub