Thanks for the updated workbook!
Another install variant convenient for Debian-flavours is to use the Instant Client Zips. This removes the need for alien, but you still need libaio1. And you need to run ldconfig or set LD_LIBRARY_PATH, unlike for the RPMs. Wallet files can be put in the (precreated) network/admin subdirectory, similar to the RPM directory usage.
OTN Instant Client downloads no longer need a click-through, so install can be automated. You could even use the perma-links https://download.oracle.com/otn_software/linux/instantclient/instantclient-basiclite-linuxx64.zip and https://download.oracle.com/otn_software/linux/instantclient/instantclient-basiclite-linuxx64.zip to get the latest packages without needing to hardcode a version number.
Buried in a Dockerfile in https://blogs.oracle.com/opal/docker-for-oracle-database-applications-in-nodejs-and-python-part-1 are some steps I’ve used.