Phoenix Deployment Handbook
I was terrified. Seven months earlier, I had started my programming journey. Now it was my first Elixir deployment to actual users. All kinds of thoughts raced through my mind...
- Should I deploy with releases?
- Where do I find a Dockerfile that works?
- Do I even need Docker?!?
- Which cloud hosting provider should I use?
- Will it be this tedious to deploy updates EVERY time?
This confusion led to spending hours struggling with things that could take a few minutes...
And it's the same thing happening to you too.
You get frustrated and angry because you're not only losing time but also the money you can earn by working on other features or projects.
If you've ever felt confused about how to deploy your Phoenix app, know that you're not alone...
Maybe you even had a glimmer of hope after deploying to Heroku...only to find out later that Heroku's regular restarts break a lot of Elixir's features.
There's no shame in getting overwhelmed with all the options...
I got lost too and went down multiple rabbit holes looking for solutions...
Until I decided to sit down to understand what the problem truly was.
The problem here is that it is easy to overcomplicate your Phoenix deployments with the wrong tools. In fact, people who have been at it for a while still struggle with it.
But I was able to get it right...And You Can Too!
Throughout my 6 years as a solo developer, I've always been looking for the best deployment tools...
And when I experienced how difficult it was to master Elixir deployments...
I decided to find the right way to deploy without all the stress.
So I spent over a hundred hours researching topics and tools to write articles for staknine.com. I tested all the best options in real-world Phoenix projects...
I did all the research, so you don't have to. I identified the best way to deploy Phoenix and compiled it into this step-by-step guide -
THE PHOENIX DEPLOYMENT HANDBOOK
- You sit down at your computer, ecstatic to get your latest Phoenix LiveView app in the hands of your users…
- Now--this is hard to believe, but it is true--you deploy your app to production on Fly with a SINGLE command...
- That was easier than starting your local dev server for the 1st time! No wonder Chris McCord is so excited about deploying LIveView to Fly!
Nice, but what about those tedious updates?
- Next, you copy and paste a single config file to set up Continuous Deployment using GitHub Actions...
- With your new setup, you automatically deploy changes and migrate your database with every push to GitHub.
You sit back in your comfy chair with satisfaction. You've just bypassed hours of research. Plus, pushing changes to production will be a breeze!
But that is not all...
First, a quick story. I almost quit writing about Elixir to launch my own SaaS.
There are specific tools you need to manage every SaaS app in production...
Even worse, people discouraged me from using Phoenix for my SaaS because of the lack of resources for people focused on shipping their MVPs quickly.
Just like you, I'm a huge fan of Elixir and that made me mad...
That's when I decided to put my SaaS on hold and write the Phoenix Deployment Handbook.
I wrote down everything to use for my next SaaS...and I want to share it with you.
Not only does it simplify your deployments...it sets you up with the right tools to manage your Phoenix app in production.
It is the only book I've found with a singular focus on finding the tools that leverage the full capability of Elixir and the BEAM.
After you deploy, you take a moment to sit back in your comfy chair with a smile…then you lean back in to finish your setup.
- You generate user authentication for logins and rest easy knowing it works correctly in your LiveView mounts.
- Plus, your users can easily reset passwords via email. And you can use the template to send all your other user emails.
With that done, you're ready to bring on your users!
Of course, despite your best efforts, you know there will be bugs...however, now you're not worried...
- With error monitoring, you get notified of bugs and usually fix them before your users even have a chance to tell you about them...
- And when necessary, you quickly use log history to pinpoint the exact issue for your most nasty bugs.
- Finally, your users skyrocket based on insights from your web analytics dashboard.
You're all set! You can't believe a couple of hours following a step-by-step guide has relieved your stress and brought back the joy of coding with Elixir.
Now…you might be asking, why do these tools work so well with Elixir?
The answer is…your tools also use Elixir for their backends!
Not only do the tools work seamlessly with Elixir & Phoenix...but it is fantastic knowing you are supporting companies who use Elixir :)
By using the Phoenix Deployment Handbook, you'll also join others who have learned they can
Deploy A Phoenix App in Less than 10 Minutes...
And here is what they are saying...
Your book has been a great resource to bolster our "recommended reading" for best practices, especially for those not experienced in Elixir & Phoenix. I was pleased to see your patterns followed ones that we were already using. We even picked up some new ones that are in production now!
- Palmer, Co-Founder & CTO, onsleek.com
How did the step-by-step guide make their deployments so easy?
Here is what you get...
- Deploy a LiveView app to Fly
- Continuous Deployment with GitHub Actions
- Authentication with mix phx.gen.auth
- Email with Swoosh and Mailgun
- Error Monitoring with Honeybadger
- Log Management with Logflare
- Web Analytics with Plausible
- Best Practices for Elixir Config and Environment Variables
- Debugging in Elixir…Beyond IO.inspect/2
- What You Need to Know About Logging in Elixir
- Quick Reference Guide
If you're wondering whether deployments will be a breeze for you too...
Is this for beginners or experienced developers?
Both! If you are new to Elixir, it provides EACH step to prepare for production. If you are an experienced developer, it is a straightforward resource to deploy the best tools for your Elixir application.
Will this work for an app I've already deployed?
For sure! You can use the book to improve the deployment process and tools for your existing app.
What if I don't plan to launch my app to users immediately?
It is a good idea to start with continuous integration / continuous deployment (CI/CD) from the very beginning to save time and reduce bugs.
What if I'm not using LiveView?
The demo app uses LiveView, but it works with any Phoenix project.
Wait...who is this not for?
It is not for developers who want to deploy to a bare metal server or set things up from scratch on a Virtual Private Server. It also doesn’t cover complicated tools like Kubernetes and Ansible that you probably don’t need.
Do you offer discounts?
Purchasing Power Parity: If you live in a country where my book is very expensive to purchase, I'm happy to give you a discount. To receive a discount code, send me an email (firstname.lastname@example.org) with the country where you live, along with a suggested reasonable price for you in your country.
Academic, Military, and Non-Profits: I offer a 15% discount to enrolled students, teachers, military service members and veterans, and non-profits. To receive the discount code, email me (email@example.com) and attach proof of enrollment, academic employment, military service, or non-profit status.
That's it... And if there's something else you want to know...
Just hit me up on Twitter @JackGrayS9
Deploy your project today with no risk!
My promise to you is simple...
I am confident you will save at least 14 hours of your valuable time following the steps in the Phoenix Deployment Handbook.
With an hourly rate of $50, that's over a 10X return on the purchase of the book.
If you don't save over 14 hours following the book, simply send me an email (firstname.lastname@example.org) and I will refund 100% of your money.
Buy the Phoenix Deployment Handbook now...
A step by step guide to deploy your app and set up the tools you need for production