Log inStart free

Deploying apps

From your directory: aloof launch detects Node (Next.js, Remix, Nuxt), Python (Django, FastAPI, Flask), Go, Rust, Ruby/Rails, PHP/Laravel, Java (Maven/Gradle), Elixir/Phoenix and static sites, then writes a Dockerfile and an aloof.toml. aloof deploy uploads the directory, honouring .dockerignore, and builds it on our builders. If there is no Dockerfile, the builder uses Nixpacks and falls back to the generated Dockerfile.

From an image: any public image. Private images work from Docker Hub, GHCR, GitLab, ECR, GCR/Artifact Registry or any v2 registry after aloof registry login (see private registries).

From git: public or private repos, using deploy keys, HTTPS tokens or the GitHub App. Pass --git URL --ref main, with an optional subdir. Built images are pushed to the Aloof registry, which your nodes pull from.

Redeploys are rolling: new instances must pass a readiness check before old ones stop, and a release that fails it never takes traffic (see releases & rollback). A release_command runs before any new instance starts. Env vars, volumes, autoscale and health settings carry over between deploys.

Health checks: set an HTTP path with aloof health app --path /healthz or [[http_service.checks]]. After N consecutive failures the instance is replaced.