5. Cloud & headless deployment

LatticeMind is designed to run on cloud platforms, HPC login nodes, and notebook services such as qBraid and JupyterHub.

5.1. Running the Web UI on a server

Bind the Web UI to all interfaces and do not try to open a local browser:

latticemind-web --host 0.0.0.0 --port 7865 --no-open

The equivalent environment configuration:

export LATTICEMIND_CLOUD_MODE=1
export LATTICEMIND_WEB_HOST=0.0.0.0
export LATTICEMIND_WEB_PORT=7865
export LATTICEMIND_WEB_OPEN_BROWSER=0
export LATTICEMIND_ARTIFACTS_DIR=/persistent/latticemind_outputs
latticemind-web

5.2. Cloud checklist

Concern

Recommendation

Secrets

Prefer real environment variables or your platform’s secret store over a committed .env.

Persistent results

Set LATTICEMIND_ARTIFACTS_DIR to a persistent volume so projects survive container restarts.

No browser

Use the plain CLI: LATTICEMIND_UI_MODE=cli latticemind.

Behind a proxy

The UI uses relative asset and API URLs by default, so most proxies work as-is (see below).

5.3. qBraid / Jupyter proxy quickstart

  1. Set credentials in a notebook cell or terminal:

    export OPENAI_API_KEY=...
    export LATTICEMIND_CLOUD_MODE=1
    
  2. Start the Web UI bound to all interfaces:

    latticemind-web --host 0.0.0.0 --port 7865 --no-open
    
  3. Open the proxied URL for port 7865. Use the form <notebook-base>/proxy/7865/ — the trailing slash is required so that relative paths like static/styles.css and api/config resolve under the proxy prefix.

  4. If HTML loads but CSS or live updates do not, the proxy needs an explicit base path:

    export LATTICEMIND_WEB_BASE_PATH=/proxy/7865
    latticemind-web --host 0.0.0.0 --port 7865 --no-open
    

5.4. Working inside an existing folder

On cloud and notebook platforms you often already have a working directory. Use these CLI commands to work in place rather than creating a surprise new project folder:

/workspace         # inspect the current folder first
/attach .          # adopt the current folder as the active project
/resume last       # continue the latest indexed project
/whereami          # show active project, backend, execution, next action

If /workspace detects RESCU input files or a prior LatticeMind project, use /attach . so LatticeMind adopts that folder.

5.5. Choosing where calculations run

Small validation runs are fine in the notebook container. For anything expensive — dense k/q grids, relaxations, DFPT, phonons, optics — run on an HPC cluster via a remote profile (see Remote & HPC execution) and gate launches with /cost and /launch-preview.

5.6. A safe first cloud calculation

Keep solver execution off while LatticeMind prepares and validates the inputs, then enter the calculation request:

/execute off
Do a simple SCF and band structure calculation for silicon.

Once the launch preview looks correct, enable execution with the explicit command, then ask LatticeMind to continue the project:

/execute on
Continue this project, run the SCF and band structure, post-process the
bands, and update the report.