This maybe isn't for everyone but I de-dockerified Shlink pretty quickly. Moving it to two nginx vhosts (server and admin) on a Shlink LXC and a centralized Postgres server made dealing with it a lot easier.
E.g., the initial API key shenanigans were less fiddly after I took more direct control.