Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

jgravois's avatar

Do I need Homestead to use Forge?

I tried to follow the series here on using Forge but Forge has changed and many of the screens and screen options have changed. I also followed the steps of this tutorial (http://mattstauffer.co/blog/getting-your-first-site-up-and-running-in-laravel-forge), but in both cases, my domain never resolves to the DigitalOcean droplet and I just get 404 - Not Found | nginx/1.6.0 when trying to access the site by the provided IP address and "Google can't find my domain" when I try to access using the URL. I have deleted the DigitalOcean droplet several times to try again and still get the same result.

I have successfully added my github account to Forge and the SSH Keys are married. I also went to GoDaddy and pointed the nameservers of the domain to Digital Ocean. I created the database and set the name. Set it to auto-deploy and set the environment variables and the environment to testing. Finally added a .env.testing.php file to the repo. I pushed everything from local and then added the repo to Forge and got the error.

I am using MAMP PRO to host locally ... do I need to use Homestead for Forge and Digital Ocean to work?

0 likes
8 replies
bashy's avatar

Doesn't matter what you use to develop the site on. Just think of Forge as an auto-setup for your production server.

Few things to test - check the domain is going to the right IP. You can force a random domain to point to the IP if you want to check it works (custom DNS on your computer). The issue with your domain could well be a DNS propagation delay. Test it on something like https://www.whatsmydns.net.

Post your findings

mikebronner's avatar

While using homestead won't guarantee that it will necessarily work on forge, it does make things soooo much easier. Sure, you might have a bit of work to do to switch over, but its well worth it. Have you watched the lessons on getting off MAMP?

https://laracasts.com/search?q=mamp

jgravois's avatar

@bashy, at https://www.whatsmydns.net, I searched for the domain name and there was 1 green check and the rest red and when I added "expected results," all turned red. I don't really know what that means.

Please forgive the formatting below -- I don't know Markdown

Back on the Digital Ocean side, my zone file is: $TTL 1800 @ IN SOA NS1.DIGITALOCEAN.COM. hostmaster.wynnewade.us. ( 1407967696 ; last update: 2014-08-13 22:08:16 UTC 3600 ; refresh 900 ; retry 1209600 ; expire 1800 ; ttl ) IN NS NS1.DIGITALOCEAN.COM. NS NS2.DIGITALOCEAN.COM. NS NS3.DIGITALOCEAN.COM. @ CNAME www @ IN A 107.170.145.149

The 5 records present are: A @ 107.170.145.149 CNAME @ www along with the 3 ns records.

The Control Panel has "DNS Error Present" and dns_master_load: /dev/shm/bind/DO/db.wynnewade.us:13: wynnewade.us: CNAME and other data dns_master_load: /dev/shm/bind/DO/db.wynnewade.us:13: wynnewade.us: CNAME and other data dns_master_load: /dev/shm/bind/DO/db.wynnewade.us:13: wynnewade.us: CNAME and other data zone wynnewade.us/IN: loading from master file /dev/shm/bind/DO/db.wynnewade.us failed: CNAME and other data zone wynnewade.us/IN: not loaded due to errors.

I searched Google for those errors but I am still as stupid as I was when I began searching.

jgravois's avatar

@MikeBronner, I followed that screencast and set up Homestead and tried to use it but was uncomfortable with it because with it, I lost the ability to work untethered from the Internet. With MAMP PRO, I can point a domain name like www.cyto.local along with as many others that I need and work no matter where I am.

I will admit I only gave it a 3 or 4 day test and knew when I switched back that I was missing something because everyone else in this community including Jeffery loves it.

mikebronner's avatar

Ah, not so, my paduan! :) I installed homestead on my laptop and use it when on the road all the time disconnected. Which part specifically requires an internet connection in your setup as you experienced it?

Editing your hosts file is key to development domains in homestead: https://laracasts.com/lessons/introducing-laravel-homestead

For example in your Homestead.yml file you would have something like:

---
ip: "192.168.10.10"
memory: 2048
cpus: 1

authorize: /Users/myName/.ssh/id_rsa.pub

keys:
    - /Users/myName/.ssh/id_rsa

folders:
    - map: /Users/myName/Development/Sites/myGreatApp
      to: /home/vagrant/Sites/myGreatApp

sites:
    - map: mygreat.app
      to: /home/vagrant/Sites/myGreatApp/public

Then add the following to your hosts file on your machine (not within homestead):

127.0.0.1 mygreat.app

And all should work offline for you. You won't be able to do composer updates, and such, but once you have it set up, you should be able to take it on the road and develop on it for a few days without needing to sync.

jgravois's avatar

@mikebonner, thanks for the reply. I can already tell that I missed some major concepts when I tried Homestead because I thought Homestead is "in the cloud" and EVERYTHING had to be done online. Reading your response makes me think that the Homestead server is on my mac and not online. When following along, all I did on the Vagrant site was to download and install -- maybe I should have read there as well. I will go back now and learn more about Vagrant.

alenabdula's avatar

It's just good business.

If you feel move comfortable using other platform, don't feel the need to switch just because Jeff like it, or supports it. I know he would not want you to do that.

I feel comfortable using my Linux Mint, installing all dependencies locally. At work I'm on Windows but run Vagrant.

Check out Chris's serversforhackers.com as well. Also his Vaprobash script.

Forge is a great service. It really simplifies deployment for me, just push to git and done. Doesn't really matter how your development environment is set up as long as you keep it similar to production server. But if you read Vaprobash you can pretty much install all required dependencies and modules. As far as I understand it Homestead is the wrapper of your development environment. It's aiming to solve the problem of matching each environment and working with different environments.

Hope that helps -Alen

CraftThatBlock's avatar

To clarify:

Homestead is a local development Vagrant box (pre-made VM basically) ready for Laravel sites

while Forge is a server tool to setup servers with everything needed for running your Laravel apps.

Please or to participate in this conversation.