Elixir Hosting

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.

Abstract blue hexagonal molecular structure with a grey droplet icon and the word 'elixir' in white text at the center.

Simplifies Complex Builds

Elixir builds can be tricky, especially when NIFs, specific OTP versions, or cross-compilation are involved.

We handle the complexity for you.

Buildpacks Manage Dependencies

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.

Mix or Releases

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.

Binary Caching

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.

Glowing purple digital representation of Elixir 1.14.5 and Erlang 25.3 versions connected by an energy beam between a transparent file icon and a cube.

FAQs

The Questions We Get The Most at Gigalixir Support

Can I deploy non-Phoenix Elixir apps?

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.

Do I need to containerize my app?

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).

Does clustering require extra configuration?

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.

Can I use hot code upgrades?

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.

How do I debug a production node?

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.

Still have questions?

Reach out directly to the Engineers who built Gigalixir to discuss your specific architecture, integration challenges, or compliance constraints here 👇

Ready to Get Started?
Choose Your Gigalixir Path

Free Tier

✓  1 App Replica (0.5 GB memory)
✓  Free Tier PostgreSQL Database
✓  Custom Domains & SSL
✓  Zero-downtime Deploys for secure database access.
Sign Up for a Free Gigalixir Account

Standard Tier

✓  SSH & Remote Console access
✓  No 30-day inactivity sleeps
✓  Clustering & Node Discovery
✓  HA Database & Read Replicas
Sign Up for a Standard Gigalixir Account

Trusted by Engineering Teams Everywhere

High-Performance Hosting for Modern Apps.

Stop fighting generic cloud infrastructure.

Whether you’re working with Elixir, Python, or Node.js, get the specialized support and performance your application deserves.