Doing more digging, I captured checksums of all files that get created by the i2p container, with
find i2p* -type f -exec md5 {} + > 1sum # After starting container
and
find i2p* -type f -exec md5 {} + > 2sum # After restarting container
Comparing the files with diff -y 1sum 2sum
, I noticed this file was the only one whose checksum changed:
MD5 (i2phome/router.ping) = 95fd0fa14b084cf019f2dd9e0884aa1 | MD5 (i2phome/router.ping) = f4b060ae4f789f7d24f2851c06597c4
EDIT:
Preserving this file outside of the volume directory and copying it back in after the container restarts allows the web console to function as expected.
EDIT 2:
To take it a step further, I'm mounting it read only into the container at runtime like this:
- ./router.ping:/i2p/.i2p/:ro
which is sort of a hack, but I think I can live with it.