Skip to main content
Cashify can be deployed to various hosting platforms. This guide covers popular options, from managed Laravel hosting to traditional VPS setups.

Hosting requirements

Cashify requires:

PHP 8.2+

Modern PHP version with required extensions

MySQL/PostgreSQL

Relational database (SQLite for development only)

Composer

PHP dependency manager

Node.js

For building frontend assets

PHP extensions required

# Required PHP extensions
php-cli
php-mysql (or php-pgsql for PostgreSQL)
php-mbstring
php-xml
php-bcmath
php-curl
php-zip
php-gd
php-redis (recommended)

Laravel Forge (easiest)

Laravel Forge is the official Laravel server management platform.
1

Connect your server

Connect Forge to your VPS provider (DigitalOcean, AWS, Linode, etc.)
2

Provision server

Forge automatically installs PHP, Nginx, MySQL, Redis, and other dependencies.
3

Create site

Add a new site pointing to your Cashify repository:
  • Repository: yyordan0v/cashify
  • Branch: main
  • Root directory: /public
4

Configure environment

Set environment variables in Forge’s UI or upload your .env file.
5

Enable quick deploy

Enable automatic deployments on git push.
Forge handles SSL certificates, scheduled tasks, queue workers, and deployments automatically.
Pricing: $12/month + server costs

Laravel Vapor (serverless)

Laravel Vapor is a serverless deployment platform for Laravel on AWS. Benefits:
  • Auto-scaling based on traffic
  • Pay only for what you use
  • Managed databases and caches
  • Global CDN included
Setup:
composer require laravel/vapor-cli --dev
php vendor/bin/vapor init
Configure vapor.yml:
vapor.yml
id: 1
name: cashify
environments:
  production:
    memory: 1024
    database: cashify-db
    cache: cashify-cache
    domain: cashify.yourdomain.com
    build:
      - 'composer install --no-dev --optimize-autoloader'
      - 'npm ci && npm run build'
      - 'php artisan migrate --force'
Deploy:
php vendor/bin/vapor deploy production
Pricing: $39/month + AWS usage costs

DigitalOcean App Platform

DigitalOcean App Platform offers managed application hosting.
1

Create app

Connect your GitHub repository and select the cashify repo.
2

Configure build

Build command:
composer install --no-dev --optimize-autoloader && npm ci && npm run build
Run command:
php artisan serve --host=0.0.0.0 --port=$PORT
3

Add database

Add a managed MySQL database component.
4

Set environment variables

Configure all required .env variables in the App Platform UI.
5

Deploy

App Platform automatically builds and deploys on git push.
App Platform requires some configuration changes. You may need to modify bootstrap/app.php to handle the PORT environment variable.
Pricing: From $5/month + database costs

Traditional VPS (most control)

Deploy to any VPS provider (DigitalOcean, Linode, Vultr, AWS EC2, etc.)

Ubuntu 22.04 setup

1

Update system

sudo apt update && sudo apt upgrade -y
2

Install PHP 8.2

sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install -y php8.2 php8.2-cli php8.2-fpm php8.2-mysql \
  php8.2-mbstring php8.2-xml php8.2-bcmath php8.2-curl \
  php8.2-zip php8.2-gd php8.2-redis
3

Install Composer

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
4

Install MySQL

sudo apt install -y mysql-server
sudo mysql_secure_installation
Create database:
mysql -u root -p
CREATE DATABASE cashify_production;
CREATE USER 'cashify'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON cashify_production.* TO 'cashify'@'localhost';
FLUSH PRIVILEGES;
EXIT;
5

Install Nginx

sudo apt install -y nginx
Configure site:
/etc/nginx/sites-available/cashify
server {
    listen 80;
    server_name your-domain.com;
    root /var/www/cashify/public;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";

    index index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}
Enable site:
sudo ln -s /etc/nginx/sites-available/cashify /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
6

Install Node.js

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
7

Install Redis (optional)

sudo apt install -y redis-server
sudo systemctl enable redis-server
sudo systemctl start redis-server
8

Deploy application

cd /var/www
sudo git clone https://github.com/yyordan0v/cashify.git
cd cashify
sudo chown -R www-data:www-data /var/www/cashify
sudo -u www-data composer install --no-dev --optimize-autoloader
sudo -u www-data cp .env.example .env
sudo -u www-data nano .env  # Configure environment
sudo -u www-data php artisan key:generate
sudo -u www-data php artisan migrate --force
sudo -u www-data npm install --production
sudo -u www-data npm run build
sudo -u www-data php artisan config:cache
sudo -u www-data php artisan route:cache
sudo -u www-data php artisan view:cache
9

Install SSL certificate

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com
Pricing: From $5-10/month for basic VPS

Shared hosting

Cashify can run on shared hosting with PHP 8.2+ support, but with limitations.

Requirements

  • PHP 8.2+ with required extensions
  • SSH access (recommended)
  • Database access
  • Composer support

Setup on shared hosting

1

Upload files

Upload all files except .git directory via FTP/SFTP.
2

Point domain to public directory

Configure your domain to point to the public directory (not the root).
3

Install dependencies

If SSH is available:
composer install --no-dev --optimize-autoloader
npm run build
If no SSH, use a deployment tool or install locally and upload the vendor and public/build directories.
4

Configure .env

Create .env file with shared hosting database credentials.
5

Run migrations

php artisan migrate --force
Shared hosting may not support all features (Redis, queue workers, scheduled tasks). Performance will be limited.
Pricing: From $3-15/month

Docker deployment

Deploy using Docker and Docker Compose.

Using Laravel Sail

Cashify includes Laravel Sail for Docker-based development:
docker-compose.yml
services:
  laravel:
    build:
      context: .
      dockerfile: ./vendor/laravel/sail/runtimes/8.3/Dockerfile
    ports:
      - '80:80'
    environment:
      APP_ENV: production
      APP_DEBUG: false
    volumes:
      - .:/var/www/html
    depends_on:
      - mysql
      - redis

  mysql:
    image: mysql:8.0
    environment:
      MYSQL_DATABASE: cashify
      MYSQL_USER: cashify
      MYSQL_PASSWORD: secret
      MYSQL_ROOT_PASSWORD: secret
    volumes:
      - mysql-data:/var/lib/mysql

  redis:
    image: redis:alpine
    volumes:
      - redis-data:/data

volumes:
  mysql-data:
  redis-data:
Deploy:
docker-compose up -d
docker-compose exec laravel php artisan migrate --force

Comparison table

Hosting OptionEase of UseControlScalabilityPrice Range
Laravel Forge⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐$$$
Laravel Vapor⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐$$$$
DO App Platform⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐$$
VPS⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐$
Shared Hosting⭐⭐⭐$
Docker⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐$

Choosing the right option

Best for beginners

Laravel Forge - Handles everything automatically while giving you control.

Best for scaling

Laravel Vapor - Serverless architecture scales automatically with traffic.

Best for budget

VPS with manual setup - Most cost-effective for small to medium traffic.

Best for control

VPS or Docker - Full control over the entire stack.

Next steps

Production deployment

Learn about production optimization and security

Environment configuration

Configure environment variables

Build docs developers (and LLMs) love