Running Brave Browser in Docker

for testing, questionable sites, or by-passing network configs

Jeremy Cheng


In the past 2 years, I have been developing a VPN/SDP alternative on the side called Syndr that involves complex firewall and network configs that is constantly running on my laptop but once in a while, I find myself needing to check something via a raw connection to the Internet or even cross check between raw connections and Syndr connections which was tedious to turn off and on Syndr just for that purpose. So what I ended up doing was firing up a raw connection bridged VM quickly but needless to say, it’s not really an ideal solution as a full VM is always taking up more resources on my system than I would like.

Aside from something more complex like the above, I often find myself wanting to test a client’s website quickly between staging and production which requires different network configurations.

Last but not least, there are times when I do need to check/vet questionable websites for clients which I would run a FreeBSD VM for it; again, as fast to boot and light weight as FreeBSD is, it’s still more resources than I would like to run for just checking a website. Also, what would happen if it does in the off chance do something to my VM even though FreeBSD is not really a target for script kiddies? Well, I would have to keep more regular snapshots or more regularly backup my VMs which is also a big resource burner in terms of storage.

Ok, sure, you may not have as complicated of a setup as me but I think the solution I found to be useful may be useful to a vast range of simpler or mainstream setups as well. What I ended up doing was dockerizing Brave Browser so that I would have a sandboxed, separately profiled Brave Browser that launched like any other native application on my desktop. This gives me the ability to accomplish all that I have mentioned above without any VMs. The best part for me is, Syndr leaves the Docker network alone so this dockerized Brave Browser has a raw connection out. In fact, if I wanted to, I could even quickly setup a VPN inside the container that’s just for the dockerized Brave Browser which could come quite handy if you wanted to browse the internet regularly on your regular browser and then have a browser that’s using a different IP from a different…