Skip to content

BUDA setup

David Anderson edited this page Sep 18, 2026 · 14 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.xml 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.

Make sure you're subscribed to the boinc_projects email list. When a new version of docker_wrapper is released, download the executables and repeat the above process to create a new BUDA app version (e.g. 1.1).

Access control

In your project root dir, type

bin/manage_privileges grant ID all

where ID is the ID of your BOINC account. This lets you administer and submit jobs to all apps, including BUDA.

You can then use the page under Job submission / Manage permissions to give other users permissions to administer or submit jobs to BUDA.

A user U with 'administer' permissions for BUDA can create a BUDA science app. Only U can create, edit and delete variants of the science app.

Initially, only U can submit jobs to the science app. But - using the 'Edit app info' form - they can give other users the ability to submit jobs to the science app. These users must have BUDA submit permissions.

Web configuration

In your project's html/project/remote_apps.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