The Platform for Elixir
Deploy Nerves firmware servers, Broadway pipelines, and OTP applications with git push.
Run on a native BEAM environment that respects distributed Erlang.
No Docker wrappers that cripple your node.

Most "Elixir support" on other platforms just means they can run a Docker container.
They often isolate your node, kill "idle" background processes, and break standard distribution patterns.
Gigalixir runs your application on Kubernetes but exposes the native BEAM capabilities you need to build distributed systems.
Elixir builds can be tricky, especially when NIFs, specific OTP versions, or cross-compilation are involved.
We handle the complexity for you.
We detect your elixir_buildpack.config and .tool-versions to install the exact Erlang and Elixir versions you need.
You do not need to maintain a Dockerfile or worry about matching your CI environment to your production runtime.
Deploy via standard Mix for simplicity, or use Elixir Releases for faster boot times and smaller artifacts.
We support both workflows natively. If you use Releases, we handle the packaging and startup command generation automatically.
The buildpack caches your deps and _build directories between deploys.
Your CI time isn't wasted recompiling unchanged dependencies or rebuilding Dialyzer PLTs. This makes iterative deployments significantly faster.

The Questions We Get The Most at Gigalixir Support
Yes.
You can deploy any application that runs on the BEAM.
This includes NervesHub instances, Broadway data pipelines, Discord bots, or simple API servers built with Plug and Cowboy.
As long as the app can be started via a command in a Procfile (or a Release start command), it will run perfectly.
No.
You push your code via git. Our buildpacks compile your Elixir code, build the release, and run it.
You do not need to write or maintain a Dockerfile.
We handle the OS-level dependencies required for standard NIFs (like comeonin or bcrypt).
Minimal configuration is required.
You add the libcluster dependency and configure the Cluster.Strategy.
Kubernetes strategy using the environment variables we provide (like LIBCLUSTER_KUBERNETES_SELECTOR).
Nodes will automatically join the cluster when they boot.
Yes.
This is an advanced feature, but fully supported. If you use Elixir Releases and generate the .appup and .relup files, you can deploy upgrades that patch the running system without a restart.
This is powerful for systems that hold significant in-memory state.
Use gigalixir ps:observer to open the Erlang Observer GUI on your local machine, connected securely to your remote production node.
This lets you visualize your supervision tree, monitor allocator memory usage, and trace message passing in real-time.
Reach out directly to the Engineers who built Gigalixir to discuss your specific architecture, integration challenges, or compliance constraints here 👇
Stop fighting generic cloud infrastructure.
Whether you’re working with Elixir, Python, or Node.js, get the specialized support and performance your application deserves.