OCL TermBrowser v3 user interface for terminology management using an OCL Terminology Server
- Create your local Compose override:
cp docker-compose.override.yml.bak docker-compose.override.yml - Adjust
docker-compose.override.ymlif you need local build, volume, or port settings. - Run
docker compose up -d - Visit the port configured by
WEB_PORT, orhttp://localhost:4002by default.
docker-compose.override.yml is intentionally not versioned because each development environment may need different settings. To change the host port without editing the override, run WEB_PORT=4012 docker compose up -d, for example.
- Run
docker compose -f docker-compose.yml -f docker-compose.sso.yml up -d. - Visit the port configured by
WEB_PORT, orhttp://localhost:4002by default.
The SSO redirect follows WEB_PORT. You can still set LOGIN_REDIRECT_URL explicitly when a different callback URL is required. For example: WEB_PORT=4012 docker compose -f docker-compose.yml -f docker-compose.sso.yml up -d.
- Run
docker compose -f docker-compose.yml up -d. - Visit the port configured by
WEB_PORT, orhttp://localhost:4002by default.
To show a banner above the app, for example for planned maintenance, set the optional ANNOUNCEMENT environment variable to JSON:
{
"id": "maintenance-2026-11",
"text": {"en": "Planned maintenance on Saturday, 02:00-04:00 UTC.", "es": "Mantenimiento programado el sábado, de 02:00 a 04:00 UTC."},
"links": [{"label": {"en": "Details", "es": "Detalles"}, "url": "https://status.example.org/"}],
"until": "2026-11-09T00:00:00Z"
}id: dismissing the banner hides it in that browser untilidchanges.textand each link'slabel: plain text for each language code (en,es,pt-BR,zh).enis required, and shows for any language that has no entry.links:https:URLs, shown after the text. Use[]for none.until(optional): an ISO 8601 time withZor an offset, such as2026-11-09T00:00:00Z. The banner stops showing after it, without a restart.
start-prod.sh writes the setting into env-config.js when the container starts, so a change shows after a restart. When it's unset, or isn't valid (bad JSON, a missing field, a link that isn't https:), no banner shows. With npm start, put var ANNOUNCEMENT = <the JSON as a JavaScript string>; in public/env-config.js instead (node -p 'JSON.stringify(process.argv[1])' '<the JSON>' prints one), and don't commit it.
docker exec -it <container_name> bash -c "eslint src/ --ext=.js*"
In order to increase major/minor version you need to set the new version in package.json.
This repository is part of the OCL Digital Public Good. It is licensed under the Mozilla Public License 2.0 with the OCL Healthcare Disclaimer.