Best options for realtime compression? (btrfs?)

When I look in the forum for compression btrfs seems to come up quite a bit. The use case I have is I use pop3 for my email and I literally have decades of email - and yes have deleted/cleaned up quite a bit. Despite my cleaning it is still taking up quite a bit of space, and if i gzip it that reduces it to less than 1/6th of what it is uncompressed, drive space I could really use.
So I am trying to find the best way to reduce the size and filesystem compression seems to be it? I wanted to see if #1) FS level compression was the best option or is there something else i should consider and #2) If FS is indeed the best way which FS and perhaps pointers on how to get started? (would I need to create a template using that fs or can it be done just for an appvm etc).