DeployEx - A lightweight tool designed for managing deployments in Elixir applications

Hey There :wave:

Since 2021 I’ve been working on an easy way to deploy Elixir applications and after a few years and many approaches, I am proud to announce that DeployEx is available. It is a deployment tool that allows your project to extract the best of the Beam World using the mix release package to execute full deployments and/or hot-upgrades, depending on the package’s content, while leveraging OTP distribution for monitoring and data extraction, and much more. It also gives access to logs, iex terminal, and others without Cloud management.

DeployEx is currently using Phoenix Liveview for presenting settings and configuration on the UI side and erlexec to control and manage deployments.

I would love to hear feedback and/or ideas for features to add to this project.

It is still in the initial phase, but many more will come soon.

Check it out!

37 Likes

Is it AWS only?

I don’t see anything mentioned about NGINX after it being in the picture at the top. What’s the story there?

Hi @cmo , thanks for taking a look and by the feedback. Regarding:

  • Cloud support: The current implementation was built on top of AWS+terraform, but I have already set up some changes to support multiple clouds, the next one the list is GCP. The changes required for this feature is to allow the Release adapter to support GCP storage instead S3 and for the secrets, to support GCP secrets instead aws secrets.
  • NGINX: You are right, I didn’t mentioned nginx in the docs of DeployEx, but the project doesn’t have any dependency for the reverse proxy, it can be any reverse proxy, up to the configuration. I have an example of setting up DeployEx+NGINX in the Calori project if you want to check. But in any case, I will be improving the documentation soon.

KR
Thiago Esteves

3 Likes

:rocket: DeployEx v0.3.0 is Live! :rocket:

I’m excited to announce the launch of DeployEx v0.3.0! This release introduces amazing new features, including enhanced observability, tracing, logging, and much more! :tada:

Check out the full release notes to discover all the exciting updates since our last version:

DeployEx on GitHub

6 Likes

New DeployEx release - 0.3.2 - :rocket:

Check out the full release notes. It has moved all OTP features (including metrics) to Observer Web and embedded it using iFrame.

DeployEx on GitHub

1 Like

:rocket: DeployEx release - 0.4.0 - :rocket:

This release introduces easier configuration management via a YAML file. After installation, updating settings—such as replicas, environment variables, and more—is as simple as editing the file and restarting DeployEx. Also, starting with this release, DeployEx will include builds compiled for Ubuntu 24.04, supporting both OTP 26 and OTP 27.
Stay tuned—exciting features are on the way, including support for running multiple Beam applications on the same node, all connected.

Repo: GitHub - thiagoesteves/deployex: The ideal project to supervise your Elixir/Erlang/Gleam application
Releases Changelog: Releases · thiagoesteves/deployex · GitHub

5 Likes

:rocket: DeployEx release - 0.5.1 - :rocket:

Exciting updates in the latest DeployEx release! If you haven’t been following along, here’s what you’re missing:
:fire: What’s New:
:right_arrow: Multi-Application Management: DeployEx now handles multiple BEAM applications simultaneously across different languages - mix and match Elixir, Erlang, and Gleam applications in a single distributed cluster.
:right_arrow: Advanced Monitoring: Built-in monitoring for host memory, application atoms, processes, and ports with configurable thresholds and automated actions - all managed through simple YAML configuration.
:right_arrow: BEAM-Native Features: Discover powerful capabilities you might not know the BEAM ecosystem offers.
:light_bulb: Why This Matters:
:play_button: Deploy applications without containers
:play_button: Leverage hot upgrades for zero-downtime deployments
:play_button: Skip the Kubernetes complexity
:play_button: Access comprehensive logs and metrics without cloud vendor lock-in
:play_button: Reduce infrastructure costs significantly
Ready to show your DevOps team a simpler way to deploy and manage applications?
Share this with your colleagues and explore what container-free, cloud-independent deployment looks like (you may love it).

:desktop_computer: DeployEx (0.5.1)
repo: GitHub - thiagoesteves/deployex: The ideal project to supervise your Elixir/Erlang/Gleam application

:desktop_computer: Jellyfish (0.2.2)
repo: GitHub - thiagoesteves/jellyfish: This library facilitates the creation and management of appup files and releases for Elixir applications, enabling seamless hot upgrades (hot code reloading)

:desktop_computer: Observer Web (0.1.10)
repo: GitHub - thiagoesteves/observer_web: Phoenix Liveview Dashboard for Observability including Ports and Processes details, Tracing with erlang debugger, Beam VM metrics and much more

8 Likes