Quickly spin up your multi command projects.
- Nginx
- Dnsmasq (only for unix based systems)
To install the required packages on a debian based system you can use the following command:
sudo apt install libgtk-3-0 libwebkit2gtk-4.0-dev nginx dnsmasq
Note
For Ubuntu 24.04 and up, you should install libwebkit2gtk-4.1-dev instead of libwebkit2gtk-4.0-dev.
Download the .deb package from the releases. There is a separate version for Ubuntu 24.04 due to the different libwebkit2gtk package version being used.
To install the package run the following command where {{version}} is the version of the package:
sudo dpkg -i spinup-{{version}}.debWarning
This has not been tested
To install the required packages on a rpm based system you can use the following command:
sudo dnf install nginx dnsmasq
Download the .rpm package from the releases.
To install the package run the following command where {{version}} is the version of the package:
sudo rpm -i spinup-{{version}}.rpmWarning
This has not been tested
Install the required packages:
brew install nginx dnsmasq
Download the spinup-{{version}}-macos.zip archive from the releases and unzip the archive:
unzip spinup-{{version}}-macos.zipRun the installation script:
sudo ./spinup-{{version}}-macos/install.shThis will create the required directories and files.
To run the app you can use the following command:
spinup
This will start the app where you can add command (templates) and projects.
To add a command template you can use the following command:
spinup command add <name> <command>
Example:
spinup command add example "npm run dev"
To remove a command template you can use the following command:
spinup command remove|rm <name>
Example:
spinup command remove exampleTo list all the command templates you can use the following command:
spinup command list|ls
Commands are templates, so we can use variables that are then defined in the project configuration.
Example:
spinup command add example "npm run dev -- --port {{port}}"
port and domain are reserved variables that are used to define the port and domain (based on the name) of the project. These are required to be when adding a project.
More information on variables can be found in the Variables section.
To add a project you can use the following command:
spinup project add <name> <port> [commands...]
This will create a configuration for the project in the sqlite database for spinup located in your .config/spinup folder.
Example:
spinup project add example 8001 example1 example2
To remove a project you can use the following command:
spinup project remove|rm <name>
Example:
spinup project remove example
To list all the projects you can use the following command:
spinup project list|lsYou can add custom variables to the project configuration file. These variables can be used in the command templates.
spinup variable add <project> <name> <value>
Example:
If we define a command template like this:
spinup command add "example" "npx vite -- --loglevel {{loglevel}}"
We can add a variable to the project configuration like this:
spinup variable add example loglevel silent
spinup run example
To run a project you can use the following command:
spinup run <project>
This will run the commands defined in the configuration for the project.