← Back to blog

How to Install Self-Hosted Sprint Planning Software on Your Own Server

By Rakesh • Oct 06, 2026 • 4 min read • 3 views

Before you buy a self-hosted sprint planning tool, check the server first: PHP 8.2, MySQL 8.0, a document root pointed at /public, and a cron job the app cannot run without.

How to Install Self-Hosted Sprint Planning Software on Your Own Server

The installer blocks the install on PHP 8.1 or older, and once the server passes, the rest of setup is five steps in a browser. Before you buy a self-hosted sprint planning tool, that is the part to check first, because the server is where most of the work lives.

Spryn's self-hosted edition ships as a ZIP, and its install guide covers a VPS and cPanel shared hosting. What follows is what the server needs, what the installer checks for you, and the parts that are easy to get wrong. Nothing here needs Docker or Kubernetes.

What the server needs

The minimums are modest. PHP 8.2 is the floor and 8.3 or newer is recommended. MySQL 8.0 is the minimum database version. Nginx 1.18 is the recommended web server, and Apache 2.4 works too. The guide asks for 512 MB of RAM at minimum with 1 GB or more recommended, and 500 MB of disk at minimum with 2 GB or more recommended.

On the PHP side, the installer checks for pdo, mbstring, openssl, tokenizer, xml, ctype, fileinfo and curl.

The installer's first step runs these checks itself. It looks at the PHP version, each extension, and whether the directories it writes to are writable. If something fails, it shows the fix next to the failing check and will not let you continue.

Upload, permissions and the document root

The ZIP already includes the vendor folder and the compiled frontend, so there is no composer install and no npm build on the server. The setup itself is four moves:

1. Upload the extracted files to a directory on your server. The guide uses /var/www/spryn.

2. Set permissions. The app folder gets 755, the storage and bootstrap/cache folders get 775, and the web server user owns the files.

3. Point the web server's document root at the public folder inside the app, not at the app root. Only that folder should be reachable from the browser. The guide includes sample Nginx and Apache configs for this.

4. Open the domain's /install page in a browser.

Step 3 is the one to double-check. Get it wrong and the rest of the app folder is reachable from the web.

The five installer steps

The web installer walks you through five screens:

1. Requirements check. The checks described above. Nothing advances until they pass.

2. Database. You enter the host, port, database name and username. The installer tests the connection before it lets you move on.

3. App configuration. You set the public URL the app will be served from.

4. Admin account. A name, an email address and a password of at least eight characters.

5. Complete. The installer writes your .env configuration, runs the database migrations and creates the admin account.

Once setup finishes, the installer locks itself. Visiting /install afterward returns a 403, and the guide says that is expected.

> The guide marks the cron entry as required, not optional. Notifications, AI processing and sprint analysis all run on Laravel's queue and scheduler, so a server without the cron entry quietly stops doing that background work.

The cron entry runs the scheduler every minute, pointed at your install path. The installer shows the exact line with your path already filled in, so copy it from there rather than typing your own. On a VPS, the guide also has you run the queue worker as a persistent process under Supervisor. On shared hosting, the cron job handles queued work by itself.

Real-time sprint board updates use Laravel Reverb, which needs a process that stays running. The guide is explicit that shared hosting does not support it. If live board updates matter to your team, that rules shared hosting out for the feature.

Three things to check before you buy

1. Can you run PHP 8.2 or newer and MySQL 8.0? The guide warns that many older shared hosting plans still default to PHP 7.x, so ask your host before you pay.

2. Can your server keep a process running? You need this only for real-time board updates, but it is the difference between a VPS and shared hosting for that feature.

3. Who owns the cron job and the queue worker? They run for as long as Spryn does. Name the person who keeps them alive before the install, not after the first missed notification.

If running the server is more than your team wants to own, the hosted version runs the same product at spryn.io/cloud. The one-time self-hosted licence is listed at spryn.io/pricing. Either way, check the requirements above before you buy. They are the part of the decision you can verify on your own server today.

See these principles in practice.

$99 one-time · Unlimited seats · Setup in 10 minutes

Buy Spryn