The Lounge + ZNC
So, this was more complicated than it needed to be but it's manageable. I know The Lounge has a page dedicated to the question of why use ZNC when The Lounge does the same thing. Well, it's in case you want to use a different client than The Lounge. Sometimes, you just want a dedicated app and not a web app that requires a browser.
Honestly, setting up the container was a breeze. Configuring ZNC was annoying though. Things get extra annoying, if you want to add an SSL certificate and automate it.
Problems I encountered: Unless you forward a port and access remotely, don't use SSL. You can have The Lounge direct connect and then remote access The Lounge by giving it a sub domain through NPM. The "nickserve" module for ZNC is just wanting your password and nothing else. For situations where you need to send extra commands when you connect, that's what the "perform" module is for.
https://wiki.znc.in/Signed_SSL_certificate#LetsEncrypt
[Too tired, will finish later.]