Docker and NixOS playing nicely together

As I've added software to my NixOS homelab server, I've found some things that aren't yet available in the nixpkgs repository.

A common approach seems to be to use Docker and Docker Compose to run things in containers, especially ones that need multiple services like a web server, a database and a cache or proxy.

I've moved my development projects from Docker to devenv, but I still have Docker installed and available.

I knew it was easy to create a container image from a Nix-based setup, but the opposite is also true.

It's very easy to run containers within NixOS.

For example, here's how I've configured Tube Archivist.

This was created using a tool called compose2nix, but I've seen simpler examples for other services.

This made it easy to take a Docker Compose file and convert it to a Docker or Podman container.

My preference is to use NixOS services if they exist, but it's great to be able to do this as an alternative when needed.