If you run your own instance of KoboToolbox, you should be aware of upcoming changes that will affect you.
The repositories kobo-install
and kobo-docker
, which we at Kobo use ourselves and which we offer publicly for self-hosters, are being updated to better match Docker best practices and our Kubernetes environment.
Please review these notes and consider testing these changes now in a separate environment from your production service.
The main changes are:
- Use of only a single service within each Docker container. Instead of simply
kpi
andkobocat
containers, which each hosted multiple services, you will now seekpi
and separate containers for each Celery service:worker
,worker_low_priority
,worker_kobocat
, andbeat
. - Consolidation of KoboCAT, previously an entirely separate Django project, into KPI as an application called
openrosa
. For this reason, you will no longer see a separatekobocat
container: the code that previously ran there now runs inside thekpi
container. - Removal of any references to a secondary database server. This was always an alpha-level feature, and it has not been receiving active support. We at Kobo do not use it any longer and are not aware of it being used anywhere else.
kobo-install
does still allow you to assume control of your own databases by answering “yes” during configuration to the question “Do you want to use separate servers for front end and back end?” From there, you may self-manage advanced database features like replication. - Removal of support for WAL-E backups. Simple database dumps are still supported. WAL-E is obsolete, and what it provides is an advanced use case better left to independent management outside of
kobo-install
(see the previous point above). If you need continuous archiving, please opt out of havingkobo-install
configure your PostgreSQL instance, and consider using pgBackRest or WAL-G, both of which are actively supported.
Minor changes include:
- Upgrading NGINX from 1.21 to 1.26.
- Upgrading Redis from 6.2 to 7.2.
- Renaming some environment variables. These are automatically set by
kobo-install
, but if you usekobo-docker
directly or set custom environment variables, this may affect you. Refer to kobotoolbox/kpi#4948 for a complete list of these variables.
What do I have to do?
Note: these steps apply to kobo-install
. If you use kobo-docker
directly, we assume you have the skill needed to adapt your configuration.
- From your
kobo-install
directory, stop all services and remove Docker resources by executing./run.py --stop
. - In the same directory, execute
./run.py --2.024.25a
. - Review the configuration as prompted.
- When asked “Do you want to (re)start containers?”, answer “yes”.
If you have trouble, please post in Discussion of upcoming changes for self-hosters.
Thanks for using KoboToolbox!