Episode
Creating Horizon: Deploy Elixir Phoenix Apps on FreeBSD with Jim Freeze
- Podcast
- Elixir Wizards
- Published
- Dec 19, 2024
- Duration seconds
- 2688
- Processing state
processed
Actions
POST https://stenobird.com/v1/public/podcasts/elixir-wizards/episodes/creating-horizon-deploy-elixir-phoenix-apps-on-freebsd-with-jim-freeze/transcription-requests
Idempotently request low-priority transcript generation for this episode.GET https://stenobird.com/podcast/elixir-wizards/creating-horizon-deploy-elixir-phoenix-apps-on-freebsd-with-jim-freeze.md
Read the agent-friendly Markdown representation of this episode resource.
Summary
Jim Freeze discusses Horizon, a deployment library designed to simplify Phoenix application deployments on FreeBSD with minimal dependencies. The conversation explores the benefits of avoiding heavy managed services in favor of stable, low-cognitive-load infrastructure.
Topics
- Elixir
- Phoenix Framework
- FreeBSD
- Horizon Library
- PostgreSQL
- Software Deployment
- Infrastructure as Code
- Open Source
Highlights
- Main idea: Horizon prioritizes low cognitive load by using simple shell scripting over complex tools like Terraform or Ansible
- Practical takeaway: Use FreeBSD and ZFS for stable, high-performance application hosting with reduced reliance on managed services
- Failure mode: Avoid over-engineering deployment pipelines with heavy dependencies that require specialized expertise to debug
- Main idea: Horizon enables easy scaling of Postgres and Phoenix instances with a single command, facilitating 'eating your own dog food'
- Practical takeaway: For hobby projects, a single-server setup running both the app and database is a viable, cost-effective strategy
Chapters
1:00The ElixirConf Legacy: Jim reflects on his journey organizing ElixirConf and his deep roots in the Elixir community.14:35Introducing Horizon: An overview of Horizon's purpose: providing a lightweight alternative to complex deployment platforms like Fly.io.17:55Minimalist Deployment Strategies: Discussing the feasibility of running Phoenix and Postgres on a single server for side projects.21:00Horizon vs. Terraform and Ansible: Comparing Horizon's dependency-free approach to the sophisticated but complex orchestration of Terraform and Ansible.27:20The Stability of FreeBSD: Why Jim chooses FreeBSD and the importance of moving away from volatile environments like CentOS.37:40Handling Node.js and Dependencies: Addressing the challenges of compiling Node.js and managing assets like Tailwind on FreeBSD.41:30Contributing to Open Source: How to find the Horizon project on GitHub and ways to contribute to the ecosystem.