Zeus setup with Core Lightning
and c-lightning-REST setup

Difficulty: Intermediate

If you run your own Lightning node and you’re not familiar with Zeus you are missing out. Zeus is a fully featured mobile Lightning front end which will allow you to send and receive Lightning payments from your home LND or Core Lightning node when you are out and about. We’ll be leveraging Zeus’s built in Tor support to connect to our home Core Lightning node. Since we are using Zeus with our own node this is a completely noncustodial solution, no trusted third parties here! In my opinion, Zeus is the best mobile lightning wallet out there.

There are several quality guides online that demonstrate the configuration of the Zeus mobile wallet with LND but I haven’t seen one for Core Lightning. Yes, Zeus also works great with Core Lightning!

In this guide I’ll demonstrate the setup of the c-lightning-REST program which acts as a shim to allow Zeus to talk to your Core Lightning node via REST API. Zeus requires a REST API for communication and Core Lightning doesn’t provide one natively. After c-lightning-REST is in place I’ll demonstrate how to connect Zeus to your Core Lightning node. You’ll then be able to make payments from your Core Lightning node while you’re on the go with your mobile phone!

Raspberry Pi

Compile Bitcoin-QT from source on Raspberry Pi

Difficulty: Low

A lot of posts on this blog will be about running your own Bitcoin infrastructure without the major node in a box implementations such Umbrel. This has the benefit of getting new features and critical updates sooner as you don’t have to wait for the node in a box implementation to push a new update. The official distribution site for the Bitcoin Core node software does include a binary for Raspberry Pi so there is no need to build from source yourself. I’m not sure that was always the case so at one time I went through the process of building Bitcoin-QT myself and have been doing so ever since.


VPS Passthrough Hosting
Host a large website or application with a modest VPS

Difficulty: Intermediate to High

Have you ever wanted to host a website or other web service without exposing your home IP address or paying for a gigantic VPS (Virtual Private Server)? While VPSs tend to be rather generous on bandwidth they tend to be rather stingy on storage space and general compute power. If I want the VPS with 500GB of storage space to host a clearnet Bitcoin node, I’m going to have to pay a pretty high reoccurring fee. I’m going to explain a method which leverages Firewalld and Wireguard VPN to allow public hosting with a very modestly priced VPS. With this method you’ll be able to leverage your existing home storage and compute resources to do the heavy lifting on your home network while getting the benefit making your application public without exposing your home IP address. This solution will work even if you are stuck behind the dreaded Carrier Grade NAT.

The idea is that you’ll actually run your service from your home network but through the magic of VPN and NAT (Network Address Translation) technology the service can be made available on the public internet. I run a VM (Virtual Machine) host via KVM at my home but this should work equally well with a Raspberry Pi or similar less powerful computer. I would consider this deployment to be of intermediate to high level difficulty depending on your knowledge of Linux and general networking. For this example I’m going to make my BTCPay Server, which I run on my local network, publicly available on the IPv4 internet. I’ll do this without needing an expensive VPS with enough storage for a full Bitcoin node or without exposing my home IP address. See the image above for a high-level overview of what we’ll be configuring.