Sign inSign up

mtzgroup/terachem-frontend

By mtzgroup

•Updated over 4 years ago

Image
0

2.1K

mtzgroup/terachem-frontend repository overview

⁠Quick Reference

Images are tagged with a simple mtzgroup/terachem-frontend:maj.min.patch strategy.

⁠What is TeraChem-Frontend?

The TeraChem Frontend provides programmatic access to a TeraChem instance running in server mode and the underlying files produced by the TeraChem compute job. Files can be uploaded or downloaded to the server. The container is an nginx proxy server that forwards protocol buffer messages to the TeraChem instance, serves the underlying files created by TeraChem compute jobs, and accepts uploads that can then be referenced in compute jobs, e.g., seeding a computation with a wavefunction file. Programmatic communication with terachem-frontend is available in the tcpb-client⁠ via the TCFrontEndClient.

⁠How to use this image

⁠Basic Configuration

The container requires three environment variables as configuration, example values are provided below:

- TERACHEM_PBS_HOST=terachem-pbs
- TERACHEM_PBS_PORT=11111
- AUTOINDEX_FORMAT=json
- WORKER_PROCESSES=1

TERACHEM_PBS_HOST/PORT tells the container where to find the TeraChem server instance. Keep in mind the host/port are relative to the inside of the terachem-frontend container. So if you set TERACHEM_PBS_HOST to localhost and run a TeraChem server on your local machine, the terachem-frontend will not be able to see it because localhost indicates the localhost of the terachem-frontend container. Best practices is to run the TeraChem Server in a docker container and let the frontend communicate with it over the docker network. An example docker-compose.yaml file that you can use is found here⁠.

AUTOINDEX_FORMAT can be set to html or json. HTML will provide an easily browsable interface in a browser. json is required for programmatic access using the tcpb-client package.

WORKER_PROCESSES determines how many nginx worker processes will run. 1 is usually sufficient unless under quite heavy load.

The container listens on port 11111 and 80.

⁠noproxy tags

The noproxy tag means the container will only server files and listen on port 80. It will not proxy calls to a TeraChem Protobuf Server running behind the frontend. Instead, you will want to run the TeraChem server separately and have your client code communicate directly with it.

Tag summary

Content type

Image

Digest

Size

9.7 MB

Last updated

over 4 years ago

docker pull mtzgroup/terachem-frontend