tags: getting-started references:
SilverBullet is distributed as a single server binary available for the following platforms:
note Which file should I download? The releases page lists two families of zip files:
silverbullet-server-<os>-<arch>.zip: this is what you want, the actual SilverBullet server.sb-<os>-<arch>.zip— the optional CLI tool (sb) for scripting against a running server.
We start by downloading the silverbullet-server-* zip for your platform from GitHub.
Unzip this archive somewhere convenient. You’ll get a single silverbullet executable.
Then, create a folder to hold your data (your server configuration and space files will live here):
mkdir sb-data
Run the server, pointing it at that folder:
./silverbullet sb-data
Since sb-data is empty, this opens a first-run setup wizard for accounts and your first space — see [Space Manager](Space Manager). Point the server at a folder that already holds pages instead, and it’s served immediately as a classic single space.
The server listens on http://localhost:3000 by default. To pick a different port, use -p:
./silverbullet -p 3001 my-space
And to bind on an address other than 127.0.0.1 (e.g. to make it reachable on your LAN), use -L:
./silverbullet -L 0.0.0.0 my-space
To force classic single-space behavior add --single:
./silverbullet --single my-space
note Note If you want to access SilverBullet from another machine, you need TLS and you should enable Authentication first.
Now, open http://localhost:3000 in your browser and you’ll be guided through the initial [Space Manager](Space Manager), once that’s all done, head to [Getting Started](Getting Started) to learn the basics.
You can upgrade your SilverBullet install based on the version you’d like to run.
To upgrade to the latest stable release:
./silverbullet upgrade
To upgrade to the latest edge release (which keeps in sync with the main development branch):
./silverbullet upgrade-edge
To upgrade your client, be sure to refresh your page twice somewhat slowly.
To check which version of SilverBullet you’re running, run the ${widgets.commandButton("Client: Version")} command.