Repository navigation
Server settings Apache, PHP, Java, MySQL MariaDB
Use the online server for hosted models. Use Docker Compose for a new local installation. The current application does not require the wiki's former PHP, PEAR, Sendmail, or Java 7 setup. Apache can still be a reverse proxy; it is not the application runtime.
Install Git, Docker Engine, and the Docker Compose plugin. Initial builds need network access for dependencies. Chemistry workers need enough RAM for the dataset, feature profile, and classifier; there is no universal safe memory-per-molecule rule.
The example environment sets an 8 GiB database buffer pool, 16 GiB model-worker limit, and 6 GiB predictor limit, plus other services. Review these for your host before startup. Container limits are ceilings rather than reserved memory, but concurrent jobs can still exhaust a small host. Do not perform resource-heavy production builds on a host that cannot accommodate them.
git clone https://github.com/jwildenhain/molclass.git
cd molclass
cp .env.example .envEdit .env:
- Set distinct long random
MOLCLASS_DB_ROOT_PASSWORDandMOLCLASS_DB_PASSWORDvalues. - Set
MOLCLASS_CODE_REVISIONto the immutable revision built. - Review
MOLCLASS_INNODB_BUFFER_POOL, service memory limits, and ports. - Choose training-data intake and configuration policies using
MOLCLASS_DATA_INTAKE_ENABLEDandMOLCLASS_CONFIGURATION_ENABLED.
Keep secrets untracked. docker-compose.yml is the effective configuration: some worker arguments are specified directly in service commands, so merely adding a similarly named environment variable does not necessarily change them.
docker compose build
docker compose up -d
docker compose ps
curl --fail http://127.0.0.1:8000/api/v1/health/readiness
curl --fail http://127.0.0.1:8082/actuator/health/readinessOpen localhost:3000. Seven services run: database, API, frontend, predictor, and SDF/model/molecule workers. Database, API, and predictor define health checks; frontend and workers should be running.
An empty database volume initializes from sql/v3/. A fresh installation does not include the public server's datasets or trained models. Import your own SDF data, train models, and arrange approval before prediction.
The stock API container does not contain the JDK/Gradle/source prerequisites for web approval. Training can finish while decision controls remain disabled. Configure the supported host administrative bridge or use the documented approval CLI with the intended database credentials. Never bypass approval by manually editing publication pointers.
See review setup and canonical approval transaction.
Compose binds published ports to loopback. Put a TLS reverse proxy in front of a public deployment and route the frontend and API paths appropriately. Protect operator-only functions with the administrative controls in the production guide. The model-review token is separate from an integration API key.
Disabling training-data intake does not disable ad-hoc registration/prediction against published models. Configuration controls separately govern model/dataset changes. Check current route guards before describing a deployment as entirely read-only.
Keep database and upload volumes persistent and back them up. Store local dumps and deployment snapshots under the repository's ignored backups/ directory. Backups are not part of a public wiki or source commit.
SQL initialization scripts run on an empty database, not automatically on every restart. Existing deployments need an explicit migration plan, backup, and verification. Do not apply every migration blindly to an existing schema. Retain the deployed source revision and image identities for rollback.
For stalled work, inspect the relevant job status and worker logs: sdf-worker handles analysis/import, model-worker handles training, and molecule-worker handles registration/prediction. Job leases and retries are persisted; resubmitting a request may create duplicate work.
Current container sources use Java 17, Python 3.12, and Node 20; MariaDB is configured as 10.11. CDK and Weka versions are defined by Gradle. Use the repository's locked dependencies rather than the old wiki's global classpath instructions.
Installation guide · Compose configuration · Environment template · Operations · Production deployment and rollback
Wiki home · Online MolClass · Current datasets · Repository documentation
Documentation reviewed 3 November 2026. Live catalog counts and deployment state can change.