Skip to main content

Introduction to WireStarter

WireStarter is a Docker container which sets up the SignalWire SDKs and builds a development and testing environment for new developers.

WireStarter includes SWSH (the SignalWire interactive Shell) by default. SWSH is a scriptable utility built to easily configure and manage SignalWire Spaces from a command-line environment.


Before you begin, ensure you have the following prerequisites:


The instructions for installing WireStarter using Docker are universal and will work on MacOS, Linux, and Windows.

  1. Start Docker Desktop

Docker must be running at the start of the process.

  1. Download, install, and run WireStarter

WireStarter has been updated recently. If you've used WireStarter before, be sure to delete the previous version (using the Docker Desktop UI or the command line) and reinstall the latest version of the container.

docker run -it -d --rm --name wirestarter briankwest/wirestarter:latest
  1. Start SWSH

This command starts a terminal UI which will prompt you for relevant IDs and tokens. It will walk you through configuring the development and testing environment. It then automatically enters SWSH.

Follow the prompts on screen to enter your SignalWire Space, Project ID, and API token. Your SignalWire Space is the subdomain that prefixes If your Dashboard is accessed at, you should enter spacename when prompted for your Space. Copy the Project ID and REST API token from the API pane of your SignalWire Dashboard.

docker exec -ti wirestarter bash 
ngrok prompts

If you don't plan to set up a WireStarter example application, you can safely ignore both ngrok prompts by leaving them blank and hitting Enter or Return.

Learn more about WireStarter by visiting its repository on GitHub.

Running SWSH

If you'd like to run SWSH after completing the WireStarter installation, do so by entering the following commmand:


The Project ID, API Token, and API Key must be correctly configured in order to use SWSH commands.


Exit SWSH by typing exit.

Exit Docker by again typing exit.

Startup Variables

The following variables can be set to streamline startup.
They are also required for running in Non-Interactive mode. If they are not set, SWSH will ask for them at startup.

Linux / MacOS:




Learn more by reading our Introduction to SWSH.

Have a question or bug to report?

Help us improve WireStarter for your use case by reporting an Issue on the GitHub Repository.