The problem with a Node app crashing does seem to be a RAM constraint thing, but it's not Docker enforcing this constraint but rather Node. Lifting the limit with --max-old-space-size seems to have helped. If Node writes memory dumps upon crashing, it might also explain why the container runs out of disk space after a while. If not, then idk. Let's hope that fixed it anyway.
Oh, but Linux isn't much better with regards to shutting down. I tell it to sleep via the UI, and it won't do it because some device didn't like it. But when I go in via SSH? No problem. Why