# Humann biocontainer: Unable to write to the HUMAnN config file

**URL:** <https://forum.biobakery.org/t/humann-biocontainer-unable-to-write-to-the-humann-config-file/5224>\
**Category:** HUMAnN\
**Created:** [May 2, 2023, 8:34pm UTC](https://forum.biobakery.org/t/humann-biocontainer-unable-to-write-to-the-humann-config-file/5224 "2023-05-02T20:34:43Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![nick-youngblut](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.biobakery.org/nick-youngblut/32/528_2.png) [@nick-youngblut](https://forum.biobakery.org/u/nick-youngblut)\
**Post date:** [May 2, 2023, 8:34pm UTC](https://forum.biobakery.org/t/humann-biocontainer-unable-to-write-to-the-humann-config-file/5224/1 "2023-05-02T20:34:44Z")

</div>

This seems to be a general caveat of using a config file stored with the codebase: depending on how the code is installed, the user does not have permission to modify the installed code & associated files (e.g., a config file).

In particular, I’m using a Docker container in which humann3 was installed via micromamba. Running any `humann_config --update` commands results in the error: `Unable to write to the HUMAnN config file.`, which is likely due to permissions errors, as the code was installed via root during the creation of the Docker container.

Can one use an environmental variable to specify the path to a config file? I don’t see such an option in the docs: [GitHub - biobakery/humann: HUMAnN 3.0 is the next generation of HUMAnN 1.0 (HMP Unified Metabolic Analysis Network).](https://github.com/biobakery/humann#configuration)

Is there another method of providing an external config file? Specifically, I want to change the path to the mapping database, which AFAIK, can only be done via `humann_config --update database_folders utility_mapping /PATH/TO/MAP/DB`.

---

<div class="post-metadata">

**Author:** ![nickp60](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.biobakery.org/nickp60/32/1031_2.png) [@nickp60](https://forum.biobakery.org/u/nickp60)\
**Post date:** [May 4, 2023, 2:14am UTC](https://forum.biobakery.org/t/humann-biocontainer-unable-to-write-to-the-humann-config-file/5224/2 "2023-05-04T02:14:52Z")

</div>

Same, this would be really useful. linking [this post](https://forum.biobakery.org/t/humann-config-as-a-command-line-argument/3908). Our workaround was to bundle the utility mapping into the docker container, but there are so many other parameters in the config not exposed to the cli.

---

<div class="post-metadata">

**Author:** ![nick-youngblut](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.biobakery.org/nick-youngblut/32/528_2.png) [@nick-youngblut](https://forum.biobakery.org/u/nick-youngblut)\
**Post date:** [May 4, 2023, 3:32am UTC](https://forum.biobakery.org/t/humann-biocontainer-unable-to-write-to-the-humann-config-file/5224/3 "2023-05-04T03:32:25Z")

</div>

For now, I just added `o+w` permissions for the config file when building the container. That works, but it’s a bit of a hack. It definitely doesn’t work if multiple users were to use the same install (e.g., a central install of humann by an admin) or a team using the same conda env.

---

<div class="post-metadata">

**Author:** ![nickp60](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.biobakery.org/nickp60/32/1031_2.png) [@nickp60](https://forum.biobakery.org/u/nickp60)\
**Post date:** [November 14, 2025, 3:57pm UTC](https://forum.biobakery.org/t/humann-biocontainer-unable-to-write-to-the-humann-config-file/5224/4 "2025-11-14T15:57:34Z")

</div>

Update: our containers have been patched to include configuration via a HUMANN\_CONFIG env variable. See patch file [here](https://github.com/vdblab/dockerfiles/blob/feature/biobakery-overhaul/biobakery-profiler/nucleotide_4.0.0.alpha.1-final.patch).
