Producer issue 1.29 docker "CARDANO_BLOCK_PRODUCER=false"

I just spent some hours working through the exact same issue. My setup started out like the OPs and ended up like tomdx’s. However, what ultimately resolved it for me when upgrading from 1.27.0 to 1.29.0 was adding:

docker run -d \
**--workdir /configuration \**
...
**-v ${CARDANO_HOME}:/configuration \**
inputoutput/cardano-node run

Otherwise, it just continually leaves off bp parameters and starts as a relay (and no other errors). You can see that in the OP’s post.

If setting -e CARDANO_BLOCK_PRODUCER=true before adding the -v and --workdir parameters, then it just fails to run with the following error:

cardano-node: /opt/cardano/keys/vrf.skey: getFileStatus: does not exist (No such file or directory)

(Despite the file being exactly at that path, working previously, and seemingly no matter what else I tried, which seemed like a million things.)

Anyway, this is my first post here, so somewhat guessing on (i.e. testing out) the markup language too. Hope this helps someone save some time upgrading if stuck. Otherwise, my relay’s were the fastest, smoothest upgrades ever. Kudos to those responsible for the docker image overall.

Update (next day): In cleaning up my mess today, I remembered that at some point in the process after adding the -v and --workdir params, I was able to finally receive an error that somewhat made sense:

VRF private key file /keys/vrf.skey has “other” file permissions. Please remove all “other” file permissions.

(Again, despite working previously, and despite all the other files having the EXACT same permissions and not encountering the same issue.)

The fix for that issue is described here:
Vrf.skey Has Other File Permissions

That might have been why part of the initial command didn’t work and simply ignored all the bp params (without error). However, I like Tomdx’s formatting and being in line with Docker’s standards and it was what I mentioned above that made that style formatting work for me. With that being said, I don’t fully understand all the -v in and outs either. Therefore, there’s probably some other formatting a person could use to eliminate the --workdir param? However, without it, I was getting yaml errors.