Preparing your Computer
Getting up and running with Spin only takes a few minutes. You'll need a working copy of Docker and Spin installed on your computer. This guide will walk you through the steps to get everything set up. You only need to complete this section once.
Install Spin & Docker on your Machine
Configure trusted SSL in local development
In production, we use Let's Encrypt from Traefik to generate our certificates. No configuration is necessary to trust a Let's Encrypt certificate. We only use the Server Side Up Certificate Authority for development machines.
If you'd like to remove the untrusted SSL certificate warnings in your browser, you'll need to install the Server Side Up Certificate Authority on your machine or use your own certificates.
We created a Server Side Up Certificate Authority to make it easy to use our certificates with *.dev.test
. Installing certificate authorities from the Internet isn't for everyone, and we totally understand that. We just made this option to make it easy for you if you don't want to go through the headache of managing or creating your own custom certificate authority.
You can also use your own certificates if you prefer. We use cfssl to generate our certificates) to generate our certificates, but as long as the certificates are valid and trusted by your machine, you can use them.
If you would like to use our default certificates, you'll need to install the Server Side Up CA on your machine.
Learn how to install and trust the Server Side Up Certificate Authority →
Configure your hosts file
We're looking to automate this functionality in the future, but we're very adamant about having it work across all operating systems without advanced customizations. We've seen a few solutions, but they require too much setup and are not user-friendly. If you have any ideas, we'd love to hear your thoughts →
The hosts file is a simple text file that maps IP addresses to domain names. When you type a domain name into your browser, your computer checks the hosts file to see if it has an IP address for that domain. If it does, it uses that IP address to connect to the server. If it doesn't, it will use a DNS server to look up the IP address.
When you're developing locally, you'll be using domain names like laravel.dev.test
instead of localhost
. This is important because it allows you to mimic a real-world environment where each project has its own domain name. This is especially important if you're working on multiple projects at the same time.