Installation#
Production deployment#
For a persistent, self-contained install – not a foreground terminal
command – use seamm-installer (the same tool that installs and
daemonizes the rest of SEAMM, including the legacy Dashboard and the
JobServer). It creates a dedicated seamm-webui Conda environment
(seamm_webui doesn’t share much with the rest of the SEAMM stack, so it
stays out of the main seamm environment), installs seamm_webui from
PyPI into it, and sets up a systemd (Linux) or launchd (macOS) service:
$ seamm-installer install seamm-webui
$ seamm-installer services create webui
By default the created service binds to 0.0.0.0 (reachable from other
machines) – pass --webui-host 127.0.0.1 to services create instead
for a local-only install. Once reachable from other machines,
seamm_webui requires both real per-user login (see the
User Guide, accounts are created with
seamm-webui-user create) and HTTPS automatically: with no certificate
supplied it generates and reuses its own self-signed certificate (under
--root, i.e. ~/SEAMM by default) the first time it starts, the same
way an SSH server generates a host key on first boot. Browsers will warn
about it being untrusted until it’s trusted manually or replaced with a
real certificate – pass --ssl-certfile/--ssl-keyfile (forwarded by
seamm-installer services create if set) to use one instead. Getting a
browser-trusted certificate automatically (Let’s Encrypt-style) isn’t
attempted – it requires the host to be publicly reachable on a real DNS
name, which doesn’t hold for typical cluster-internal deployments.
seamm_webui never executes jobs itself – a separate seamm_jobserver
daemon, polling the same datastore, does that. Set it up alongside webui or
submitted jobs will simply sit unprocessed:
$ seamm-installer services create jobserver
See seamm-installer services --help for status/stop/delete,
and Getting Started for running seamm-webui directly
(not as a daemon) for local/interactive use.
Stable release#
To install seamm_webui, run this command in your terminal:
$ pip install seamm_webui
This is the preferred method to install seamm_webui, as it will always install the most recent stable release.
If you don’t have pip installed, this Python installation guide can guide you through the process.
From sources#
The sources for seamm_webui can be downloaded from the Github repo.
You can either clone the public repository:
$ git clone git://github.com/molssi-seamm/seamm_webui
Or download the tarball:
$ curl -OL https://github.com/molssi-seamm/seamm_webui/tarball/main
Once you have a copy of the source, install the backend with:
$ pip install .
and, for frontend development, install the JS dependencies separately:
$ cd frontend && npm install