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 dnsmasqNote
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 dnsmasqDownload 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 dnsmasqDownload 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:
spinupThis 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|lsCommands 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 example2To remove a project you can use the following command:
spinup project remove|rm <name>Example:
spinup project remove exampleTo 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 silentspinup run exampleTo run a project you can use the following command:
spinup run <project>This will run the commands defined in the configuration for the project.
