Skip to content

BUDA setup

David Anderson edited this page Mar 10, 2026 · 8 revisions

To enable BUDA on your BOINC project:

Create app and app versions

In your project's admin web page, click Manage application. Add an application with name buda and description BUDA.

In your project's apps/ directory, create directories

buda/
    1.0/
        windows_x86_64__docker/
        x86_64-apple-darwin__docker/
        x86_64-pc-linux-gnu__docker/

Go to Docker-wrapper-release-notes. For each platform:

  • Download the current version of the Docker wrapper; put it in the corresponding directory.

  • Create a file version.inc containing e.g.

<version>
    <file>
        <physical_name>docker_wrapper_18_windows_x86_64.exe</physical_name>
        <main_program/>
    </file>
    <is_wrapper/>
</version>

where the filename is that of the Docker wrapper for that platform.

Web configuration

In your project's html/project/remote_projects.inc, add

<?php

$buda = new StdClass;
$buda->app_name = 'buda';
$buda->form = 'buda_submit.php';
$buda->batch_collect = true;
$buda->long_name = "BOINC Universal Docker App";

$remote_apps = [
    'Docker apps' => [$buda]
];
?>

This will add a BUDA link on your web site's Computing / Job Submission page.

Set up a validator and assimilator

Edit your project's config.xml and add the following to the <daemons> section:

<daemon>
    <cmd>sample_trivial_validator --app buda </cmd>
    <output>buda_validator.out</output>
    <pid_file>buda_validator.pid</pid_file>
</daemon>
<daemon>
    <cmd>script_assimilator -d 3 --app buda --script "batch_collect_assimilate.py wu_name batch_id files2"</cmd>
    <output>buda_assimilator.out</output>
    <pid_file>buda_assimilator.pid</pid_file>
</daemon>

Deploy BUDA

  • Download and compile the current BOINC code.

  • Stop the project.

  • In the BOINC source directory, run

bin/upgrade <project-name>
  • In the project directory, run bin/update_versions.

  • Start the project.

Clone this wiki locally