If you need other services like Sidekiq, ElasticSearch or anything else, you would be able to add the appropriate services in the docker-compose files. Yes, the DB, redis and other services (outside of the app services) should go on the managed services. This would provide a certain level of backups appropriately.
It's also not ideal that the postgres, redis, etc are dockerized (whether it is in the docker swarm or kubernetes) since the service could become unhealthy and reboot at any point in time. Since these aren't redundant services, it could bring down the application unexpectedly while they're being restarted.
If you wanted to use managed services, you could still use the docker swarm and portainer. You'd need to pass the environment variables through to the app services which can be done through portainer or some other mechanism.
I like Kubernetes, but I think it adds a lot of knowledge requirement in the creation of the yaml files, config and server maintenance that Docker Swarm doesn't have. For hobby projects and in general, many may not want to get too deep into the infrastructure side of things that would otherwise be unavoidable with Kubernetes.
pitosalas My daily driver is macOS. This is where I do most of my development and all of my screencasting. In the video, I was downloading the ARM64 version because I am on an Apple Silicon machine (which is arm64 based). Typically, most people who'd install Ubuntu as their primary operating system will be on an Intel or AMD chip which means that they can do the normal download link and wouldn't have to go into the "Other Platforms" like I had to. For the purposes of the episode, I was virtualizing Ubuntu via Parallels Desktop. I was planning on using the older Dell notebook that I had done with the Windows 10 episode, but decided against that since I was getting artifacts in the video due to the HDMI Out -> HDMI In of my setup.