Quickstart
Get up and running with Haloy in minutes. This guide will walk you through deploying your first application.
Prerequisites
- Server: Any Linux server with Docker installed
- Local: Docker for building your app
- Domain: A domain pointing to your server for secure API access
1. Install the haloy CLI Tool
The haloy CLI tool will trigger deployments from your local machine.
Install haloy:
curl -fsSL https://sh.haloy.dev/install-haloy.sh | bash
curl -fsSL https://sh.haloy.dev/install-haloy.sh | bash
Ensure ~/.local/bin is in your PATH by adding the following to your ~/.bashrc, ~/.zshrc, or equivalent shell profile:
export PATH="$HOME/.local/bin:$PATH"
export PATH="$HOME/.local/bin:$PATH"
2. Install and Initialize haloyd On Your Server
The next step is to install haloyd on your server.
Install haloyadm (requires sudo access):
curl -fsSL https://sh.haloy.dev/install-haloyadm.sh | sudo bash
curl -fsSL https://sh.haloy.dev/install-haloyadm.sh | sudo bash
Initialize haloyd with haloyadm:
sudo haloyadm init --api-domain haloy.yourserver.com --acme-email you@email.com
sudo haloyadm init --api-domain haloy.yourserver.com --acme-email you@email.com
The API domain is required for remote deploys. See Server Installation for how to set it up without a domain and trigger deploys from the server.
For development or non-root installations, you can install in user mode.
3. Add the Server
Add the server on your local machine:
haloy server add <server-domain> <api-token> # e.g., haloy.yourserver.com
haloy server add <server-domain> <api-token> # e.g., haloy.yourserver.com
See Server Authentication for more options on how to manage server API tokens.
4. Create haloy.yaml
Create a haloy.yaml file:
name: "my-app"
server: haloy.yourserver.com
domains:
- domain: "my-app.com"
aliases:
- "www.my-app.com" # Redirects to my-app.com
name: "my-app"
server: haloy.yourserver.com
domains:
- domain: "my-app.com"
aliases:
- "www.my-app.com" # Redirects to my-app.com
This will look for a Dockerfile in the same directory as your config file, build it and upload it to the server. This is the Haloy configuration in its simplest form.
Check out the examples repository for complete configurations showing how to deploy common web apps like Next.js, TanStack Start, static sites, and more.
5. Deploy
haloy deploy
# Check status
haloy status
haloy deploy
# Check status
haloy status
That’s it! Your application is now deployed and accessible at your configured domain.
Next Steps
- View the complete Commands Reference for all available CLI commands
- Browse examples for common frameworks and apps
- Learn about Configuration Options
- Explore Multi-Server Deployments
- Set up Authentication & Token Management
- Understand the Architecture