# Creating Horizon: Deploy Elixir Phoenix Apps on FreeBSD with Jim Freeze Page: https://stenobird.com/podcast/elixir-wizards/creating-horizon-deploy-elixir-phoenix-apps-on-freebsd-with-jim-freeze Text version: https://stenobird.com/podcast/elixir-wizards/creating-horizon-deploy-elixir-phoenix-apps-on-freebsd-with-jim-freeze.md Podcast: [Elixir Wizards](https://stenobird.com/podcast/elixir-wizards) Published: 2024-12-19T11:30:00+00:00 Episode link: https://smartlogic.fireside.fm/s13-e10-elixirconf-horizon-elixir-deployment-jim-freeze Audio file: https://aphid.fireside.fm/d/1437767933/03a50f66-dc5e-4da4-ab6e-31895b6d4c9e/c04de5e0-2475-4142-b98f-f80779747f0d.mp3 Processing state: processed JSON: https://stenobird.com/v1/public/podcasts/elixir-wizards/episodes/creating-horizon-deploy-elixir-phoenix-apps-on-freebsd-with-jim-freeze Duration seconds: 2688 ## Resource 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. ## 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 ## Topics Elixir, Phoenix Framework, FreeBSD, Horizon Library, PostgreSQL, Software Deployment, Infrastructure as Code, Open Source ## Chapters - 1:00 — The ElixirConf Legacy: Jim reflects on his journey organizing ElixirConf and his deep roots in the Elixir community. - 14:35 — Introducing Horizon: An overview of Horizon's purpose: providing a lightweight alternative to complex deployment platforms like Fly.io. - 17:55 — Minimalist Deployment Strategies: Discussing the feasibility of running Phoenix and Postgres on a single server for side projects. - 21:00 — Horizon vs. Terraform and Ansible: Comparing Horizon's dependency-free approach to the sophisticated but complex orchestration of Terraform and Ansible. - 27:20 — The Stability of FreeBSD: Why Jim chooses FreeBSD and the importance of moving away from volatile environments like CentOS. - 37:40 — Handling Node.js and Dependencies: Addressing the challenges of compiling Node.js and managing assets like Tailwind on FreeBSD. - 41:30 — Contributing to Open Source: How to find the Horizon project on GitHub and ways to contribute to the ecosystem. ## Actions - request_transcript: `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. - read_markdown: `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. A page view does not enqueue transcription. Agents should invoke `request_transcript` explicitly when they need this episode processed. ## Transcript Full transcripts are not published on public pages unless there is a clear rights basis.