Clojure Hosting

The JVM Platform Clojure Deserves

Deploy Leiningen and CLI tools projects with git push.

Scale with gigalixir ps:scale.

Run your immutable data structures on immutable infrastructure.

No Dockerfiles, just standard buildpacks.

Logo of the Clojure programming language with blue hexagonal shapes connected in an abstract pattern.


REPL-Friendly Environment

Clojure developers live in the REPL.

We provide an environment that respects the interactive nature of the language.

nREPL Support

You can configure your application to expose an nREPL server on a specific port.

By using our secure tunneling capabilities (or SSH port forwarding), you can connect your local editor (Emacs/CIDER, VS Code/Calva) directly to the running production process for inspection and debugging.

Persistent Processes

Since we do not kill "idle" processes or force daily restarts, your long-running state (stored in Atoms, Agents, or Refs) remains active and valid.

This stability is crucial for applications that build up in-memory caches or state aggregations over time.

Log Streaming

Use gigalixir logs to watch your application output in real-time.

This is perfect for debugging logic or monitoring standard out from your Ring handler without needing to setup a complex ELK stack.

Glowing purple neon outline of a transparent cube emitting a laser beam from a smaller attached cube on a dark background.

FAQs

The Questions We Get The Most at Gigalixir Support

Do I need to use Docker to deploy Clojure?

No. If you have a project.clj, the buildpack handles the rest.

We compile the uberjar and set up the runtime container automatically.

You can verify the build log in your terminal as the deploy happens.

Can I use deps.edn instead of Leiningen?

Yes.

You can use the heroku-buildpack-clojure which supports deps.edn via the clojure CLI tools.

You may need to specify this buildpack explicitly in a .buildpacks file if auto-detection fails, but it is fully supported.

How do I connect to the database?

We provide a DATABASE_URL environment variable.

Configure your connection pool (like HikariCP) to use this string.

Most Clojure database libraries accept this JDBC URL string directly without modification.

Does it support Ring handlers?

Yes.

Your -main function just needs to start a web server (like Jetty, http-kit, or Aleph) listening on the port provided by the PORT environment variable.

We route traffic to that port automatically.

What Java version is used?

We default to a recent LTS version of OpenJDK.

You can strictly define this by creating a system.properties file in your project root with the content java.runtime.version=17 (or your preferred version).

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.