Documentation

Supported Languages

Deploy apps built with your favorite programming languages.

Deployra supports Node.js / Bun, Python, Ruby, Go, Rust, and Elixir. Plus, you can use virtually any programming language if you deploy your code as a Docker image.

Natively Supported Languages

Node.js / Bun
JavaScript & TypeScript

Deploy Node.js and Bun applications with automatic dependency installation and build step execution.

Express
Next.js
NestJS
Koa
Python
Web apps & APIs

Deploy Python applications with virtual environment setup and dependency management using pip or poetry.

Django
Flask
FastAPI
Pyramid
Ruby
Web frameworks

Deploy Ruby applications with bundler for dependency management and environment configuration.

Rails
Sinatra
Hanami
Go
Fast & efficient

Deploy Go applications with automatic dependency resolution, building, and optimization for production.

Gin
Echo
Fiber
Chi
Rust
Performance & safety

Deploy Rust applications with cargo for dependency management, building, and optimization.

Actix Web
Rocket
Warp
Axum
Elixir
Scalable & fault-tolerant

Deploy Elixir applications with mix for dependency management, compilation, and release building.

Phoenix
Cowboy
Plug

Custom Docker Deployments

You can deploy any application using a custom Docker image. Include a Dockerfile in your repository, and Deployra will build and deploy it automatically.

Benefits of Docker Deployments

Support for any language

Use any programming language or framework that can run in a container.

Custom dependencies

Install specific system libraries and tools needed by your application.

Optimized builds

Create multi-stage builds to keep your production images small and efficient.

Dockerfile portability

Use the same Dockerfile for local development and production deployment.

Example Dockerfile

A basic multi-stage Dockerfile for a Node.js application:

# Build stage
FROM node:18-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

# Production stage
FROM node:18-alpine
WORKDIR /app
COPY --from=build /app/package*.json ./
COPY --from=build /app/node_modules ./node_modules
COPY --from=build /app/dist ./dist
EXPOSE 3000
CMD ["node", "dist/index.js"]

Automatic Buildpack Detection

If your repository doesn't include a Dockerfile, Deployra uses Paketo Buildpacks to automatically detect your application type and build it with optimized settings.

Node.js detection

Detected by the presence of a package.json file. Supports npm, yarn, and pnpm.

Python detection

Detected by requirements.txt, pyproject.toml, or Pipfile.

Go detection

Detected by go.mod files or .go source files in the repository.

Ruby detection

Detected by a Gemfile in the repository root.

Rust detection

Detected by Cargo.toml in the repository root.

Elixir detection

Detected by mix.exs in the repository root.