jack-s9

jack-s9

Phoenix Deployment Handbook (self-published)

Simplify and streamline your Elixir Phoenix Deployments.

Deploy with tools that are easy to use, maximize Elixir’s features, and have exceptional documentation.

Before I deployed my first Elixir Phoenix app to actual users, I was terrified.

  • Wasn’t I supposed to use Docker?
  • What about Releases? When I use releases, it breaks my config?!?
  • I know I’m going to have some bugs once people start using it. How do I get my users to give me a heads up when things don’t work?
  • It’s going to be a pain to push bug fixes because my deployment process is tedious.
  • I need to remember to migrate my database after I deploy.
  • Do I need to deploy and run a separate app just to capture logs?
  • I read you shouldn’t use Elixir Phoenix for your SaaS because the packages and tools aren’t there. Is that what I’m experiencing?
  • Many of these companies with enterprise services don’t say anything about Elixir.
  • Great…I finally picked Heroku, but now I’m reading about all the Elixir features I can’t use
  • How am I going to know if people are using it? What pages are people visiting?
  • Google Analytics is confusing and I don’t feel great about giving Google my users’ data

If you’ve had any of these pains then the Phoenix Deployment Handbook is for you.

  • You’ll learn how to deploy your app with a single command.
  • Then set up Continuous Deployment so deploying changes and migrating your database is as easy as pushing to GitHub.
  • You’ll create a user auth system and makes sure it works correctly with your LiveView app.
  • Your users will be able to reset their passwords via email. And you can use the template to send other emails.
  • With error monitoring, you’ll get notified of bugs and fix them before the user has a chance to tell you about them.
  • When you come across a really difficult bug, you’ll have a log history to pinpoint the exact problem.
  • Finally, you’ll have privacy-preserving Web Analytics with a simple dashboard to help you grow your user base.

I am confident you will save at least 10 hours of research and effortfollowing the steps I outline in the Phoenix Deployment Handbook.

You’re not sure you need it..no worries. If you don’t save over 10 hours following the handbook, I will refund 100% of your purchase.

Buy the Phoenix Deployment Handbook now and use it to deploy and set up the tools for your current project or your next big idea!

Format: PDF

Pages: 100+

Chapters:

  1. Deploy a LiveView app to Fly
  2. Continuous Deployment with GitHub Actions
  3. Authentication with mix phx.gen.auth
  4. Email with Swoosh and Mailgun
  5. Error Monitoring with Honeybadger
  6. Log Management with Logflare
  7. Web Analytics with Plausible

Bonus Chapters:

  1. Best Practices for Elixir Config and Environment Variables
  2. Debugging in Elixir…Beyond IO.inspect/2
  3. What You Need to Know About Logging in Elixir

Attachment:

  1. Quick Reference Guide

I’ve just released the Phoenix Deployment Handbook. It is available for purchase and download. It covers a lot of topics I write about at staknine.com.

In the book you’ll learn how to:

  • Deploy to Fly with two commands
  • Automate deployments when you push to GitHub
  • Set up email delivery, error monitoring, log management, and web analytics

The goal is to save you hours deploying your first app or improving your existing deployment process.

Visit the link below to learn more and download the Quick Reference Guide attachment for free: https://staknine.com/phoenix-deployment-handbook/?utm_source=elixirforum.com&utm_medium=referral&utm_campaign=launch

I started the book on January 2nd, 2022 and posted weekly updates on my progress. The goal was to release the book by the end of January. I ended up releasing the final draft on January 29th. Here is a Twitter thread with my weekly updates.

In terms of writing the book and planning the launch, here were the two main resources I used:

The year of hustle roadmap from stackingthebricks.com for a plan to actually ship it. And a video from Adam Wathan called Nailing Your First Launch.

Let me know if you have questions or feedback!

Jack

Most Liked

dimitarvp

dimitarvp

That’s a shame, I’d order a hardcover in a heartbeat.

jack-s9

jack-s9

Thanks for the feedback! I’m going to do some research to see what it would take to offer a hard copy version.

jack-s9

jack-s9

The book walks you through deploying a project with continuous deployment then sets up tools like error monitoring and logging.

I recommend following along with your own project. It can be an actual project you’ve been working on or the simple demo app in the book.

jack-s9

jack-s9

The book only covers Fly. I have a post about using Docker to deploy to a VPS.

It was written before mix phx.gen.release --docker was added (mix phx.gen.release — Phoenix v1.6.12), so you might be able to use that Dockerfile instead of copying the one in the post.

Where Next?

Popular in Books Top

PragmaticBookshelf
Kevin Hoffman edited by Kelly Talbot @KellyTalbot Reality is event-sourced; your mind processes sight, sound, taste, smell, and touch to...
New
AstonJ
https://www.packtpub.com/sites/default/files/B04907_MockupCover_Normal.jpg by Kenny Ballou Elixir, based on Erlang’s virtual machine a...
New
PragmaticBookshelf
Bruce A. Tate @redrapids and Sophie DeBenedetto @SophieDeBenedetto edited by Jacquelyn Carter @jkcarter The days of the traditional requ...
New
PragmaticBookshelf
Joseph Koski Series editor: Sophie DeBenedetto @SophieDeBenedetto Developmental editor Adaobi Obi Tulton @aotulton Combine advanced fu...
New
AstonJ
by Saša Jurić Elixir in Action teaches you to apply the new Elixir programming language to practical problems associated with scalabilit...
New
AstonJ
by Fred Hebert This book intends to be a little guide about how to be the Erlang medic in a time of war. It is first and foremost a col...
New
PragmaticBookshelf
Andrea Leopardi @whatyouhide edited by Jacquelyn Carter @jkcarter TCP, UDP, DNS, HTTP, and more: these are the network protocols that ma...
New
AstonJ
by Joe Armstrong A multi-user game, web site, cloud application, or networked database can have thousands of users all interacting at th...
New
AstonJ
by Ben Marx, José Valim, Bruce Tate Bring Elixir into your company, with real-life strategies from the people who built Elixir and use i...
New
New

Other popular topics Top

9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
lessless
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
yawaramin
In the Dialyzer docs ( http://erlang.org/doc/man/dialyzer.html#requesting-or-suppressing-warnings-in-source-files ), there is a way to tu...
New
New
myronmarston
The Elixir Typespec docs show the following syntax for keyword lists in typespecs: # ... | [key: type] # keyword lis...
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
AstonJ
We’ve put together this wiki for Phoenix LiveView - please feel free to add any info you feel is worth including. What is Phoenix LiveV...
New

We're in Beta

About us Mission Statement