A Flask app that serves as a dashboard on the Cheaha HPC cluster, providing an intuitive interface to monitor resources, browse software modules, manage environments, and view cluster status.
- Browse and search available software modules with category filtering and version management
- Monitor cluster partitions, job resources, and partition availability with real-time status
- View and manage conda environments organized by location (Home, Project, Scratch, etc.)
- Integrated web-based code editor for file editing
Create the app directory, clone the repository, and run setup:
# Create the sandbox apps directory if it doesn't exist for you
# Open OnDemand scans this location for apps
mkdir -p /data/user/$USER/ondemand/dev
# Navigate to the sandbox directory
cd /data/user/$USER/ondemand/dev
# Clone the repository
git clone https://github.com/sdhutchins/ood-hpc-dash.git ood-hpc-dash
# Enter the app directory
cd ood-hpc-dash
# Run setup to create venv and install dependencies
./setup.shRun setup.sh to create a virtual environment and install dependencies.
The script also creates bin/python, which Passenger uses instead of system Python. This ensures Passenger uses your venv's Python with Flask installed.
Docker is provided for local debugging only. The app is deployed through Open OnDemand/Passenger.
Build the image:
docker build -t ood-hpc-dash .Run the app locally on http://localhost:5002:
docker run --rm -p 127.0.0.1:5002:5002 ood-hpc-dashRun tests in Docker:
docker run --rm ood-hpc-dash pytestInstall development dependencies and run the test suite:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
pytest