I found this on the Self-hosted Sub-reddit which is an excellent place to find all kinds of really cool self-hostable software. Not everything on that reddit channel is open source, so it's up to you to determine what works best for you as you scroll through the list of options.
Mistborn is the project of a man who wanted to provide a more secure browsing and online experience for himself and his family. Mistborn is not just a WireGuard server UI, but a host of open source, self hosted applications that you can run in connection with the WireGuard network it sets up.
You can get to the original Mistborn repo and information at https://gitlab.com/cyber5k/mistborn
Applications like HomeAssistant, Jellyfin, OnlyOffice, and so many more. In this video, I'll show you how to install it, get the necessary Admin clientn configuration, and connect to the server.
You Should Know
- You can't access the Server UI until you generate the initial admin configuration file.
- The applications you can install via the UI are intended to be added for use with the WireGuard service.
What We Need for the Install
- A Server running Ubuntu 18.04, 20.04, Debian 10, or Raspbian Buster - I'll be using a Digital Ocean Droplet, but you don't have to use DO, you can use any server that you can get to via SSH.
- About 20 minutes time.
- WireGuard installed on your local machine - I'm using Ubuntu 18.04 and 20.04, so adjust for your client OS.
- Make sure your server is up to date.
sudo apt update && sudo apt upgrade -y
2. Give the server a reboot, just to cover our bases.
3. We need to clone the Mistborn repository. If you don't have
git installed, you can install it with
sudo apt install git
Now, let's clone the repo with
4. Now, we need to run the installation with the command:
sudo bash ./mistborn/scripts/install.sh
You'll initially be asked a couple of questions.
- First you need to enter a password you want as your default Mistborn password. (this is the password used for Pihole, Cockpit, and other software installed with Mistborn).
- You need to decide if you want Cockpit (a web server admin and information panel for Linux) installed along with Mistborn.
5. If all goes well, the rest of the install will complete on it's own. When it's done you'll have a comple of terminal commands you can use, and they'll be displayed in the terminal.
- A command to show you logs of what's happening on the server wtih Mistborn
sudo journalctl -xfu Mistborn-base
- A command to get your Mistborn admin WireGuard configuration file
sudo mistborn-cli getconf
Setup Your Admin Configuration File Locally
1. Highlight and copy the information given from the admin configuration command.
2. on your local machine (the client), create a file called
3. Paste the information you copied in step 6, into this empty file, then save, and exit the file.
CTRL+O, then Enter to save. CTRL + X to exit nano.
4. Now we need to copy that file to /etc/wireguard/
sudo cp wg-admin.conf /etc/wireguard/
Connect To Your Server
Now it's time to connect to our WireGuard server. You need to make sure you have Wireguard and WireGuard tools installed on your local machine. Again, I'm using Ubuntu, so these are the commands for Ubuntu. In the terminal type
sudo apt install wireguard-tools
Once the installation completes, you're ready to connect. Just type the following in the terminal
sudo wg-quick up wg-admin
You should see some text indicating you have a WireGuard IP address now, and you should not get any error messages.
To check that we are connected, we can do a couple of simple checks in the terminal.
The command above should return something like
interface: wg-admin public key: U/MKVaOHoKVq7CPtLycuEMDTOdlMS2Bp8vIdbIUdCBs= private key: (hidden) listening port: 53654 fwmark: 0xca6c peer: Up1p3RTuEiWEdR7jlXiLsVP324yO4p4AUXaqrRbvuX4= preshared key: (hidden) endpoint: 188.8.131.52:40999 allowed ips: 0.0.0.0/0, ::/0 latest handshake: 2 seconds ago transfer: 7.48 KiB received, 7.86 KiB sent
Don't worry, I've edited the keys and endpoint above.
Get to the GUI
Once you are successfully connected you can connect to your new Mistborn server user interface by opening a browser, and entering the URL
You'll see there is no need to log in, as you are using the Admin configuration file, and you must be connected to your WireGuard VPN to connect. Don't believe me, disconnect from the VPN, and try that URL again
sudo wg-quick down wg-admin
Now, try to get to http://home.mistborn
The Other Apps
Now you can click around in the Mistborn UI and see the other apps available. Remember, you need to be connected to the VPN to access them. For each app, there are login credentials, but the password is always the password you created at the beginning of the install process.