This website is currently under active development (Beta) 🚀. Some features are still work in progress.
DevOps Tutorial

Laravel Forge: Master Your Laravel Deployments with Ease

Admin User
Admin User
May 15, 2026
6 min read

Key Takeaways

  • # Laravel Forge: Master Your Laravel Deployments with Ease
  • Laravel Forge is an indispensable tool for Laravel developers, designed to simplify server provision...

Laravel Forge: Master Your Laravel Deployments with Ease

Laravel Forge is an indispensable tool for Laravel developers, designed to simplify server provisioning and application deployment. Gone are the days of manual server setup, SSH commands, and complex deployment scripts. Forge provides a clean, web-based interface to manage your servers, sites, databases, and more, across various cloud providers.

What is Laravel Forge? #

At its core, Laravel Forge is a server management and deployment service. It acts as an abstraction layer over raw cloud servers, allowing you to provision new servers (e.g., on DigitalOcean, AWS, Linode, Vultr, Hetzner), install necessary software (Nginx, PHP, MySQL, Redis, Node), and deploy your Laravel applications with just a few clicks.

Why Use Laravel Forge? #

  • Speed & Simplicity: Quickly set up a production-ready server in minutes, not hours.
  • Automated Deployments: Connect to your Git repository (GitHub, Bitbucket, GitLab) for seamless deployments.
  • SSL Certificates: Effortlessly provision and renew free Let's Encrypt SSL certificates.
  • Database Management: Automatically sets up and manages MySQL, PostgreSQL, or MariaDB.
  • Queue Workers: Easily configure and manage PHP queue workers (e.g., for Horizon).
  • Cron Jobs & Daemons: Schedule tasks and run long-running processes without manual server access.
  • Security: Comes with pre-configured firewall rules and SSH key management.
  • Monitoring: Basic server monitoring to keep an eye on your server's health.

Getting Started with Laravel Forge #

Let's walk through the process of setting up a new server and deploying a Laravel application.

1. Connect Your Cloud Provider #

First, you need to connect your preferred cloud provider. Forge supports:

  • DigitalOcean
  • AWS
  • Linode
  • Vultr
  • Hetzner
  • Custom VPS (requires manual server setup)

Navigate to the "Cloud Providers" section in your Forge dashboard and click "Connect Provider". You'll typically be asked for an API key to allow Forge to interact with your cloud account.

2. Create a New Server #

Once connected, go to "Servers" and click "Create Server". You'll be presented with a form:

  • Provider: Choose your connected cloud provider.
  • Server Name: A memorable name for your server.
  • Region: The geographical location for your server.
  • Server Size: The specifications (CPU, RAM, storage) of your server.
  • Database: Select your preferred database (MySQL 8.0, PostgreSQL 15, MariaDB 10.11, or none).
  • PHP Version: Choose the PHP version for your server.
  • Install Composer V2: Recommended for modern Laravel applications.
  • Install MariaDB instead of MySQL: An option if you prefer MariaDB.

Forge will now provision your server. This process usually takes 5-10 minutes. Once complete, you'll receive your server's IP address, username (typically forge), and initial password (you should replace this with SSH keys).

3. Add a Site to Your Server #

After your server is ready, navigate to its detail page. In the "Sites" tab, click "New Site".

  • Domain: Your application's domain (e.g., your-app.com).
  • Project Type: Select "Laravel" for typical Laravel applications. Other options include "PHP / FPM", "Static", or "WordPress".
  • Web Directory: For Laravel, this should be /public.
  • Git Repository: (Optional for initial setup, but essential for deployments) If you want to connect a repository immediately, enter its URL (e.g., username/repo-name).

Forge will create the necessary Nginx configuration and site structure.

4. Configure Deployment (Git Integration) #

This is where Forge truly shines. Go to your site's detail page and click the "Git" tab.

  • Repository: If you haven't already, connect your Git repository (e.g., your-github-username/your-repo-name).
  • Branch: Specify the branch Forge should deploy from (e.g., main or master).
  • Deployment Script: Forge provides a sensible default deployment script. You can customize this to fit your specific needs.

Here's a common default deployment script:

cd /home/forge/your-domain.com
git pull origin $FORGE_SITE_BRANCH
php artisan forge:check-for-maintenance-mode --app-url=$FORGE_SITE_URL
( php artisan down --message='Updating site...' --retry=60 ) || exit 1
php artisan migrate --force
php artisan cache:clear
php artisan config:clear
php artisan view:clear
php artisan route:clear
php artisan storage:link
php artisan up

You can add commands like composer install --no-dev --prefer-dist --optimize-autoloader after git pull if your vendor directory isn't committed. Remember to add php artisan optimize or other build steps if needed.

  • Quick Deploy: Enable this to automatically deploy your application whenever you push code to the specified Git branch.

5. Essential Features #

SSL Certificates (Let's Encrypt)

On your site's detail page, go to the "SSL" tab. Select "Let's Encrypt" and click "Install Certificate". Forge will handle the provisioning and automatic renewal. Ensure your domain's DNS A record points to your server's IP address before attempting SSL installation.

Environment Variables (.env)

Navigate to the "Environment" tab for your site. Here, you can manage your application's .env file directly through the Forge interface. This is crucial for setting database credentials, API keys, and other sensitive information securely.

Queue Workers

If your Laravel application uses queues, go to the "Daemons" tab on your server. Click "Add Daemon" and configure your queue worker:

  • Command: php artisan queue:work --sleep=3 --tries=3 (adjust as needed).
  • User: forge
  • Directory: /home/forge/your-domain.com
  • Processes: Number of workers to run.

Forge will ensure these workers are always running and restarted if they crash.

Cron Jobs

For scheduled tasks, go to the "Scheduler" tab on your server. Click "Add Scheduler" and define your cron job:

  • Command: php /home/forge/your-domain.com/artisan schedule:run
  • User: forge
  • Frequency: Define the schedule (e.g., * * * * * for every minute).

Conclusion #

Laravel Forge dramatically simplifies the complexities of server provisioning and application deployment, allowing you to focus on building great applications rather than managing infrastructure. By automating mundane tasks and providing a user-friendly interface, Forge empowers developers to deploy and scale their Laravel projects with confidence and efficiency. Whether you're a solo developer or part of a larger team, integrating Laravel Forge into your workflow is a game-changer for streamlined development and deployment.

FAQs

What is Laravel Forge?
Laravel Forge is a web-based server management tool that helps developers provision and deploy PHP applications, especially Laravel projects, on various cloud providers like DigitalOcean, AWS, and Linode, simplifying infrastructure management.
What cloud providers does Laravel Forge support?
Laravel Forge supports major cloud providers including DigitalOcean, AWS, Linode, Vultr, Hetzner, and also allows for custom VPS integration.
How does Forge handle SSL certificates?
Forge integrates seamlessly with Let's Encrypt to provide free SSL certificates for your sites, handling both the initial installation and automatic renewal process without manual intervention.
Is Laravel Forge a free service?
No, Laravel Forge is a paid subscription service. It offers different pricing tiers based on the features and number of servers/sites you need to manage.

Want more content like this?

Explore more tutorials in the DevOps section.

Explore DevOps

You might also like