Make all service locations configurable
- Dominant language
- JavaScript
- Stars
- 226
- Forks
- 235
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 19
Description
As proposed by @tobiasmcnulty at https://github.com/getodk/central/pull/546
This would mean adding env vars for:
- Backend location, the nginx config currently hardcodes it to `http://service:8383`
- Enketo location, the nginx and backend configs currently hardcode it to `http://enketo:8005` and `http://enketo:8005/-`; the Enketo config currently hardcodes a subpath of `-`. I believe Central itself knows about and uses the `-` suffix.
- Pyxform location, the service config currently hardcodes it to a host of `pyxform` and a port of `80`
- Enketo redis dbs, the Enketo config currently hardcodes the main db to `enketo_redis_main` with port of `6379` and the cache db to `enketo_redis_cache` with port of `6380`. If we were to make this one configurable from .env, we should set the `url` for each db which is more flexible than setting host and port ([see docs](https://github.com/enketo/enketo/blob/main/packages/enketo-express/tutorials/10-configure.md#-redis)).
Currently uses who want this level of configurability need to use their own way of editing the relevant config files.
So far, we've kept configurability to a minimum and treated the Docker Compose file as the preferred way of running. A the same time, we know some users prefer to orchestrate services themselves.
From @matthew-white: these get configured differently for local dev as well (e.g. 127.0.0.1) so there's a benefit for that context as well.
CC @spwoodcock
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.