Personal Services


Personal Services are the most common place to start. These services are used to replace default apps, e.g photo, music, videos, and todo lists. They can be configured to have an android, web, and/or terminal client. It aims to have feature parity or surpass a default apps in any ecosystem.

It generates a set of config directories, including docker compose files. All of these files are backed up using the restic daemon.


This asks for some proficiency linux admin. If you get stuck, first look at the asciinema videos. Then look at the related documentation.



The following diagram shows the main high level components.

All installations have a primary server, which hosts databases and daemons. If you chose Home Assistant its will need a separate server/OS installation.

Example Deployment

The CLI will tell you if you don't have enough hardware for the services you select. However, a good rule of thumb is one core per service, daemon or database. Bitcore requires bitcoind, which requires a min of 350 GB disk space.


  • Namecheap
    • Domain for personal use. The system is designed to have two separate domains dev and personal. Do not use the dev services domain. We also recommend namecheap's privatemail service. Its reliable, cheap and most importantly you can use your domain.
    • API Key
  • ISP account that offers port forwarding on all ports. Preferably with a static IP. If you can't swing the static IP, checkout the FAQ.


This step is required for both the primary server and the separate home assistant server. This works on a debian clean installs with SSH server and standard system utilities installed.

sudo apt-key adv --keyserver hkp:// --recv-keys 379CE192D401AB61
echo "deb stable main" | sudo tee -a /etc/apt/sources.list
sudo apt -qq update && sudo apt -qq install sway


For the primary server#

sway personal init

For the home assistant server (optional)#

sway homeassistant init

After you have followed all the prompts, you should be able to reach the dashboard at: https://dash.$PERSONAL_DOMAIN


These videos are here to help. You can pause and copy the text. There is one for a primary server and one for the home assistant server.