Dockerfile linksImages are tagged with a simple mtzgroup/terachem-frontend:maj.min.patch strategy.
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.
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.
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.
Content type
Image
Digest
Size
9.7 MB
Last updated
over 4 years ago
docker pull mtzgroup/terachem-frontend