Skip to content

Uninstall Bitsmith

sudo bitsmith uninstall removes what Bitsmith put on your server: the service, the program, the SMB shares it serves, the guest network and a few small system files. It keeps your data and every package Bitsmith installed, such as Samba, ZFS, QEMU and libvirt, LXC, Caddy and Docker. It also keeps your settings, so if you install Bitsmith again, your accounts, shares, apps and VMs come back.

  • Leave the cluster first. On a server that is in a cluster, the uninstall stops and changes nothing. Open the Servers page on that server, choose Leave, then run the uninstall.
  • Use SSH or the server’s own screen. The terminal in the Bitsmith dashboard closes when Bitsmith stops, so the uninstall refuses to run there.
  • Connect to the server’s own address. If you reach the server through its sites address, the uninstall refuses to run, because it removes that address.
  • Move your DNS. If devices on your network use this server for DNS, point them at another DNS server first. The uninstall warns you when this applies.

On the server, run:

Terminal window
sudo bitsmith uninstall

The uninstall lists what it removes and what it keeps, then asks:

Remove Bitsmith from this server? [y/N]

Type y and press Enter to go ahead. Any other answer changes nothing. To skip the question, for example in a script, add --yes:

Terminal window
sudo bitsmith uninstall --yes

Your VMs, containers and apps stay, with their disks.

  • On the guest network (“Only this server” when you created them), a VM or container loses its network when the guest network goes. So the uninstall shuts it down first and turns off its start on boot. It stays off until you install Bitsmith again. The list before the question names these guests.
  • On your home network, VMs and containers keep running. VMs that are set to start on boot still do. Containers start on boot only through Bitsmith, so after a restart they stay off until Bitsmith is back.
  • Apps keep running in Docker.
  • On a Mac, Bitsmith itself runs your VMs, so every VM shuts down and stays off until you install Bitsmith again. The list before the question names them.

The list it prints matches your server. On a server with shares, the guest network and sites, it looks like this:

This removes Bitsmith from this server:
the bitsmith service (/etc/systemd/system/bitsmith.service)
the program (/usr/local/bin/bitsmith, /app/vm_image_catalog.json)
the sudo rules that let other servers move guests here (/etc/sudoers.d/bitsmith-zfs, /usr/local/sbin/bitsmith-zfs-receive)
the guest network bitsmith-guest (10.88.0.0/16) and the firewall rules libvirt keeps for it
the sites address 192.168.1.250 and its guard (/etc/systemd/system/bitsmith-vip-guard.service)
the sites in Caddy. Caddy stays installed and serves nothing
the SMB shares (/etc/samba/bitsmith-shares.conf and its include line in /etc/samba/smb.conf)
the network announcement (/etc/avahi/services/bitsmith.service)
the install log (/var/log/bitsmith-install.log)
These use the guest network. They shut down now and stay off until Bitsmith is back:
VM web (running)
Your other VMs and containers are left as they are. The running ones keep running,
and VMs set to start on boot still do. Containers start on boot only through
Bitsmith, so after a restart they stay off until Bitsmith is back.
Warning: This server runs your sites (home.arpa) and answers DNS at 192.168.1.250.
Both stop when Bitsmith is removed. If devices on your network use 192.168.1.250
for DNS, point them at another DNS server first.

When it finishes, it prints the same list under Removed, then what it kept. Afterwards, systemctl status bitsmith reports that the unit could not be found.

It keeps:
your storage pools, /srv/storage and /srv/files
your VMs, containers and apps, and their disks
the packages Bitsmith installed: Samba, ZFS, QEMU and libvirt, LXC, Caddy and Docker
your network bridge and network settings
the Linux and SMB logins of your accounts, and the bitsmith-peer account
/etc/bitsmith and /var/lib/bitsmith, so a reinstall comes back as it was

Your network settings stay exactly as they are, including the network bridge Bitsmith set up, so the uninstall never cuts your connection to the server.

To also delete your accounts, settings, shares and history, add --purge:

Terminal window
sudo bitsmith uninstall --purge

--purge deletes /etc/bitsmith and /var/lib/bitsmith. Folders in /var/lib/bitsmith that hold VM disks, container files, app data, images or backups stay, and the list names them, for example:

/var/lib/bitsmith/vms, which holds VM disks

Before the question, it warns:

Warning: --purge also deletes /etc/bitsmith and /var/lib/bitsmith: your accounts,
settings, shares and history. Guest disks stay on the pools, but a reinstall
will no longer know about them.

If you tried Bitsmith and want it gone, add --everything:

Terminal window
sudo bitsmith uninstall --everything

It does what --purge does, and also deletes:

  • every VM, container and app Bitsmith made, with its disks and data
  • everything in /var/lib/bitsmith: VM disks, images, ISOs and backups
  • your files in /srv/files (on a Mac, /Users/Shared/Bitsmith)
  • the accounts Bitsmith made. On a Mac that is every sharing login and bitsmith-peer. On Linux it is bitsmith-peer; the Linux logins of your accounts stay, because Bitsmith cannot tell them from logins you made yourself.

Storage pools on your other drives stay, with everything on them, and the list names each one. The packages Bitsmith installed and your network settings stay too.

On a Mac you can also choose Uninstall Bitsmith… in the Bitsmith menu bar app, then Keep my data or Delete everything. macOS asks for an administrator password. In the dashboard, Uninstall… on the Maintenance page shows both commands to copy.

Run the installer as you did the first time:

Terminal window
curl -fsSL https://downloads.bitsmith.app/install.sh | sudo bash

Without --purge, your settings are still on the server. Bitsmith comes back with the same accounts, shares, apps, VMs and containers. Sign in as before.