Installation Guide
This guide covers the Dockerized installation of Magellon. For non-Docker installations, refer to the standard installation guide.
This documentation walks you through installing and configuring Magellon — a cryo-EM analysis platform — using Docker. The Dockerized version simplifies dependency management and ensures consistent performance across different environments.
-
Install Docker
Section titled “Install Docker”Docker Desktop is the recommended installation method as it provides a consistent experience across platforms.
- Download and install Docker Desktop for your operating system.
- Verify installation by running
docker --versionin your terminal.
-
Download the Demo Data
Section titled “Download the Demo Data”Access the demo dataset using the Globus file transfer service.
- Navigate to the Globus File Manager.
- Log in or create a Globus account if needed.
- Transfer the demo files to your local system.
-
Download Magellon Source Code
Section titled “Download Magellon Source Code”Clone the Magellon repository from GitHub:
Terminal window git clone https://github.com/sstagg/Magellon.gitAlternatively, download the ZIP archive from the GitHub repository.
-
Create Magellon Directories
Section titled “Create Magellon Directories”Magellon’s data plane lives under a single root — the GPFS directory. Everything else (results, scratch jobs, imported sessions) is a subdirectory inside it. The simplest path is to copy the
magellondirectory underdocker/to wherever you want it — it already contains the expected layout.- GPFS Directory — the data-plane root, mapped to
/gpfsinside the containers (e.g./magellon/gpfs).home/— where Magellon writes processing results.jobs/— scratch space for in-flight job files.<session-name>/— each imported session lands here.
magellon/├── gpfs/│ ├── home/│ ├── jobs/│ └── <imported sessions>/└── services/Why nested?Earlier releases used three sibling directories (
home/,gpfs/,jobs/). Consolidating undergpfs/means one bind mount, one host path to configure, and a layout that mirrors how shared HPC filesystems are usually mounted. - GPFS Directory — the data-plane root, mapped to
-
Configure Environment Settings
Section titled “Configure Environment Settings”Navigate to the
Dockersubdirectory in the Magellon source, then:Terminal window cp .env.example .envEdit
.envto point at your Magellon GPFS directory — that’s the only host path you need:Terminal window MAGELLON_GPFS_PATH=/magellon/gpfsInside CoreService and the plugin containers,
MAGELLON_HOME_DIRandMAGELLON_JOBS_DIRdefault to relative names (home,jobs) that resolve againstMAGELLON_GPFS_PATHat config load. You only need to override them if you want results or scratch to live outsidegpfs/. -
Start Magellon Containers
Section titled “Start Magellon Containers”From the
Dockerdirectory:Terminal window bash start.shWait for container initialization (longer on first run). For subsequent starts:
Terminal window docker compose --profile default up -dFirst Run Performance⏱️ 5-10 minutesThe first run downloads and initializes every supporting container — this can take a while on slow networks. Subsequent starts are much faster.
-
Import Demo Data
Section titled “Import Demo Data”- Move the Globus demo data into your Magellon GPFS directory.
- Open the front-end at http://localhost:8080/en/panel/images.
- Click Login, then the menu icon in the top-left.
- Select Import and open the Magellon import tab.
- Double-click the
24dec03adirectory, thensession.json. - Click IMPORT DATA to start the import.
Import Processing TimeImport can take 5–60 minutes depending on system resources. On Linux with a compatible GPU, Magellon performs frame alignment, which can extend the processing time.
-
Explore Magellon
Section titled “Explore Magellon”Navigate to http://localhost:8080/en/panel/images and select the imported session (e.g.
24DEC03A) to begin exploring your data.