thiagoesteves

thiagoesteves

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!

Most Liked

thiagoesteves

thiagoesteves

: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

thiagoesteves

thiagoesteves

: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

thiagoesteves

thiagoesteves

: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

thiagoesteves

thiagoesteves

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

thiagoesteves

thiagoesteves

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

Where Next?

Popular in Libraries Top

wmnnd
Hi there, for my project DBLSQD, I needed a file storage solution that is a bit more flexible than Arc. Because I thought others might f...
New
praveenperera
FastRSS Parse RSS feeds very quickly: This is rust NIF built using rustler Uses the RSS rust crate to do the actual RSS parsing Speed...
New
mathieuprog
Hello :wave: Allow me to introduce you to Tz, an alternative time zone database support to Tzdata. Why another library? First and fore...
New
oltarasenko
Dear Elixir community, After a year of development, bug fixes, and improvements, we are proudly ready to share the release of Crawly 0.1...
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 49522 488
New
archan937
It is a well-know topic within the Elixir community: “To mock or not to mock? :)” Every alchemist probably has his / her own opinion con...
New
michalmuskala
Another small library today. PersistentEts Hex: persistent_ets | Hex GitHub: GitHub - michalmuskala/persistent_ets Ets table backed by...
New
danschultzer
None of the current solutions worked well for me, so I went ahead and built a user management system from scratch. This project took far...
548 27727 240
New
Crowdhailer
Experimenting with this code. OK.try do user <- fetch_user(1) cart <- fetch_cart(1) order = checkout(cart, user) save_or...
New
anshuman23
Hello all, I have been working on my proposed project called Tensorflex as part of Google Summer of Code 2018.. Tensorflex can be used f...
New

Other popular topics Top

shahryarjb
Hello, I get Persian date from my client and convert it to normal calendar like this: def jalali_string_to_miladi_english_number(persi...
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
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 30048 115
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
_russellb
I want to try my hand at web scraping. What tools/libraries do I need to use. I’m hoping to turn this into something professional so don’...
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
myronmarston
The Elixir Typespec docs show the following syntax for keyword lists in typespecs: # ... | [key: type] # keyword lis...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New

Sub Categories:

We're in Beta

About us Mission Statement