SpinupWP has always installed and configured MySQL or MariaDB when spinning up a new server. Starting today, you have the option to provide connection information for an external database server instead.
Choosing this option will skip the installation of MySQL or MariaDB and use that external database server for all your sites on the web server.
When a web server is struggling to handle traffic to a site, most folks reach for the “upgrade server” lever first. Increasing CPU and memory (scaling vertically) is the quickest and easiest thing to do. However, at some point you’ll max out the CPU and memory limits. Then what?
Load balancing is often the next lever folks reach for, but the first step in scaling horizontally is to move MySQL/MariaDB onto a separate database server. Having a separate database server also makes moving sites between servers a lot easier because you don’t have to move the database. This benefit is a good reason to move MySQL/MariaDB to a separate database server well before maxing out CPU and memory limits on a single server.
In fact, we’ve been running deliciousbrains.com (WordPress + WooCommerce) with an external database (DigitalOcean Managed Database – MySQL 8) since August 2020 and it’s been working great.
We’re also working on two more docs with step-by-step instructions for creating a managed database on DigitalOcean and Amazon Lightsail, and then adding it to SpinupWP as an external database. Stay tuned for those.
composer global require deliciousbrains/spinupwp-cli
Make sure the /vendor/bin directory in your global Composer home directory is in your system’s PATH. This could be ~/.composer/ or ~/.config/composer/, depending on your operating system. You can use the composer config --global home command to check this location.
Once you’ve finished installation, you’ll have access to the spinupwp command:
You will need to generate an API token to interact with the SpinupWP CLI. You can create a personal API access token in the “API” tab under “Account Settings” in SpinupWP. Team admins can also generate access tokens from the “API” tab on the “Team Settings” page of any team they manage. API tokens can only be used on resources associated with the team or personal account used to generate them.
After generating an API token, use the command below to configure your default profile. We strongly recommend configuring a default profile. Otherwise, you’ll need to specify a profile with every command, adding more keystrokes and slowing you down.
The same command can be used to configure multiple profiles by adding the --profile switch. This can be very useful if you’re a member of multiple teams.
abraham@macbookpro:~$ spinupwp configure --profile=hellfishmedia
SpinupWP API token:
Default output format (json/table) [table]:
Profile configured successfully.
To use this profile, add the --profile option to your command:
`spinupwp servers:list --profile=hellfishmedia`
To run a command using a specific profile, pass the profile option:
The CLI tool is great for viewing details about your server and site resources. It also puts some powerful tools to your fingertips. With it, you can easily perform many common tasks, such as rebooting MySQL on any server with a single command:
abraham@macbookpro:~$ spinupwp services:mysql 245
Are you sure you want to restart MySQL on "hellfish.media"? (yes/no) [yes]:
==> Server queued for MySQL restart.
Event ID Server
The same command allows you to reboot Nginx or PHP by replacing mysql with nginx or php. You can even apply the reboot to all of your servers at the same time by replacing the <server_id> with --all.
abraham@macbookpro:~$ spinupwp services:mysql --all
Are you sure you want to restart MySQL on all servers? (yes/no) [yes]:
==> Servers queued for MySQL restart.
Event ID Server
You can also use the CLI to SSH into any of your servers:
abraham@macbookpro:~$ spinupwp servers:ssh
Which server would you like to start an SSH session for:
Which user would you like to connect as:
Establishing a secure connection to [staging.hellfish.media] as [abraham]...
Last login: Thu Mar 31 14:31:46 2022 from 22.214.171.124
To run a command as administrator (user "root"), use "sudo ".
See "man sudo_root" for details.
The SpinupWP CLI also simplifies the process of adding sites to an existing server with interactive prompts to gather all the same details you’d normally provide:
abraham@macbookpro:~$ spinupwp sites:create 246
Are you sure you want to deploy to "staging.hellfish.media "? (yes/no) [yes]:
What files would you like SpinupWP to install? [WordPress]:
[wp ] WordPress
[blank] Don't Install Any Files
Enable HTTPS (yes/no) [yes]:
Site User [staginghellfishmedia]:
Database Name [staginghellfishmedia]:
Database Username [staginghellfishmedia]:
Database Password [XXXXXXXXXXXX]:
> Hellfish Media
WordPress Admin Email:
WordPress Admin Username:
WordPress Admin Password [XXXXXXXXXXXX]:
PHP Version [8.0]:
Enable Page Cache (yes/no) [yes]:
==> Site queued for creation.
Event ID Site Database Password WordPress Admin Password
3190 staging.hellfish.media XXXXXXXXXXXX XXXXXXXXXXXX
The same site creation can be achieved using arguments instead of interactive prompts:
abraham@macbookpro:~$ spinupwp sites:delete 1204
* You're about to delete "staging.hellfish.media" *
Do you wish to continue? (yes/no) [no]:
==> Site queued for deletion.
Event ID Domain
Currently, the SpinupWP CLI also has commands for purging page and object caches, running Git deployments, and more. For a full list of commands, please visit the documentation on GitHub.
We’ll continue to build on the SpinupWP CLI and add functionality. Let us know about features you’d like to see!
WARNING: WordPress core is not yet compatible with PHP 8.1. Many themes and plugins are currently incompatible as well. We strongly recommend testing thoroughly on staging before switching any of your production sites to PHP 8.1.
SpinupWP now supports PHP 8.1. WP-CLI has been updated on all customer servers to version 2.6.0, which introduces PHP 8.1 compatibility.
You can now select PHP 8.1 when creating a new site and update existing sites to use PHP 8.1 via the SpinupWP dashboard. From a site’s dashboard, select “Settings” on the left menu, then select the version you want from the PHP dropdown menu.
We’ve added the ability to run a post-provision script every time you set up a new server. All post-provision scripts run as the root user once your server has been successfully provisioned.
Post-provision scripts can be added when spinning up a new server. Clicking in the text box provided will allow you to enter the desired scripts.
Installing custom software on your server is the most typical use-case for post-provision scripts, such as installing Node.js and npm so you can compile frontend assets on the server. To do that, you would run these scripts:
We’ve implemented a new design for the desktop navigation dropdown menu, simplifying the view for most users. You’ll now only see teams displayed if you already have a team set up. Having teams visible by default led to some confusion among the users who only had personal accounts.
The old “Teams” dropdown menu has been removed, with those links and functionality now in the main navigation. Your avatar at the top right of the screen indicates the team you’re currently using. Clicking on your avatar opens a dropdown menu from which you can select another team.
We’ve also added an account switcher function to the Settings, Team Settings, and Billing pages. This new dropdown menu clearly shows the account you’re viewing, whether that’s your personal account or the account of one of the teams you’re managing. This makes it easier to manage team settings, and ensures you can always tell which is which.
We’ve rolled out new, responsive improvements to SpinupWP’s user interface. This update gives SpinupWP users an improved user experience on mobile devices, making it easier to manage your servers and sites on the go.
While the majority of SpinupWP users continue to access the app from a desktop or laptop, a small but growing contingent has been asking for these improvements to smaller screens. The improvements allow you to access your SpinupWP dashboard from a phone or tablet, with all the same functionality found in the desktop version. You can spin up new servers and reboot existing ones, create new sites, make changes to your account, and contact support when needed.
The ability to create path redirects is the latest improvement to SpinupWP. Path redirects let you redirect from a specific URL path to a different path. This is typically a path on the same domain, but it’s easily possible to redirect the user to a URL on a different domain.
This new functionality means it’s now ludicrously simple to create redirects and link old pages to updated versions.
We’ve added support for DigitalOcean OAuth, making it easier than ever to connect SpinupWP to your DigitalOcean account. It also makes the connection process more secure.
You no longer need to visit the DigitalOcean dashboard, generate a personal access token, copy it, and paste it in SpinupWP. The OAuth flow takes you from SpinupWP to DigitalOcean, asks you to authorize SpinupWP to use your DigitalOcean account, and then takes you back to SpinupWP. Much smoother and no messing with tokens.
To authorize SpinupWP with your DigitalOcean account, you only need to provision a new DigitalOcean server, and SpinupWP will handle the rest. Click Authorize on DigitalOcean during the server provisioning process, and you’ll be redirected to DigitalOcean, to authorize your account. It’s that easy!
If you’ve previously set up DigitalOcean as a server provider using the API Token method, you can visit the “Server Providers” screen in SpinupWP, and upgrade the existing token to use OAuth.
We’ve decreased the amount of time it takes to back up sites on multi-core servers. Backups are compressed using gzip to decrease the time it takes to transfer a backup to the backup storage location and reduce required storage space.
Running gzip in parallel leverages the capabilities of multi-core servers by distributing the compression tasks across multiple processors, utilizing all available CPU cores. This considerably shortens the time needed to create backups. Between this and other backup improvements, we’ve reduced the total queue time per day from around 500 hours to under 200 hours!
Subscribe to get the latest news, updates and optimizations in performance and security.
Thanks for subscribing 👍
To receive awesome stuff, you'll need to head to your inbox and click on the verification link we sent you.
Make sure to check your "spam" folder or your "promotions" tab (if you have Gmail).
If you're still having trouble, then message us at firstname.lastname@example.org.
You are already logged in
It looks like you are already logged in to SpinupWP.
Please log out of this account to continue.
Thanks for registering for a new SpinupWP account.
Before getting started, could you verify your email address by clicking on the link we just emailed to you?