Rust, cap.so and capturing login links

Mon, Mar 23, 2026 2-minute read

Rust, cap.so and capturing login links

I recent spun up a cap instance on my Coolify instance. It’s free and open source which is great but it has some limitations:

  • Only sends magic login/sign up links
  • Only supports Resend as the Email provider

Whilst Resend is great and has a free tier I don’t want to use it. Firstly, it only supports a single domain and it cannot be a wildcard. Secondly, I have a SMTP provider already that I like to use for this sort of stuff.

I noticed that if you don’t set the Resend provider it will output the magic link code to the containers stdout. Not very helpful when you want to login on your phone.

It got me thinking - could I trap the login code and forward to my phone somehow?

Which is when I set Claude to work building a app to do exactly that.

I recorded a quick video of it in action and have the repo available on github.

But basically I created a Rust app that listens to the Cap container stdout for the text containing the code and when found it sends it to my telegram channel.

Coolify runs Cap as a docker compose file so I built a container and added it to that compose file. Now it exists within that compose network giving easy access to the docker logs.

Pretty simple and now I can login from anywhere!

Tags:

#rust #coolify