Skip to content

Demo Walkthrough

This walkthrough mirrors the original Magellon demo post — install Docker, fetch the demo data, start the stack, and import a session.

  1. On Linux without root, ask a system administrator to install Docker and add you to the docker group.

    Verify with:

    Terminal window
    docker --version
  2. Required for motion correction. On Linux:

    Terminal window
    nvidia-smi

    Note the CUDA version reported in the top-right corner — you’ll pass it to the start script.

  3. Open the Globus File Manager, sign in, and transfer the demo files to your machine.

  4. Clone the release branch:

    Terminal window
    git clone https://github.com/sstagg/Magellon.git
    cd Magellon
  5. Pick a location with enough disk space — this is where Magellon will read inputs, write outputs, and stage jobs.

    Terminal window
    mkdir -p /path/to/magellon
  6. From the Docker/ subdirectory, pass the processing directory and CUDA version:

    Terminal window
    cd Docker
    bash start.sh /path/to/magellon <cuda-version>

    The first run downloads every supporting container; this can take a while on slow networks. When it finishes, several services come up — the Magellon front-end, the FastAPI backend, the Swagger interface, and a few internal helpers.

  7. Copy or move the Globus download into the gpfs/ subdirectory of your processing directory — that’s the data-plane root; home/ and jobs/ live alongside the imported session inside it:

    Terminal window
    mv ~/Downloads/24dec03a /path/to/magellon/gpfs/
    • Open the front-end at http://localhost:8080/en/panel/images.
    • Log in, then open the menu (top-left).
    • Choose Import, switch to the Magellon import tab, and double-click 24dec03asession.json.
    • Click IMPORT DATA.
    Import Processing
    ⏱️ 5-60 minutes

    Imports take 5–60 minutes depending on hardware. On Linux with a compatible GPU, frame alignment runs as part of the import and adds time.

  8. Once the import finishes, browse the session in Images, run plugins from the Plugins page, and watch progress in the Jobs panel.

To wipe the database and reimport without tearing the whole stack down, use the reset scripts shipped with CoreService. They clear msession, image, image_job, image_job_task, image_meta_data, and job_event, leaving security tables, lookup tables, projects, plugins, and pipelines intact.

Terminal window
# Python — uses CoreService's app_settings + SQLAlchemy:
python CoreService/scripts/reset_demo_data.py --yes
# Or raw SQL via the mysql client:
mysql -u root -p magellon01 < CoreService/scripts/reset_demo_data.sql

After the reset, repeat step 8 (Import the session) and the import runs against an empty database again.

Destructive Operation

The cleanup script deletes every Magellon subdirectory under the processing path. Only run it on a deployment you no longer need. This cannot be undone.

Terminal window
bash cleanup.sh /path/to/magellon