An open API service indexing awesome lists of open source software.

https://github.com/haloydev/haloy

Deploy to your own servers, minus the platform overhead
https://github.com/haloydev/haloy

deployment devops docker self-hosted vps

Last synced: 19 days ago
JSON representation

Deploy to your own servers, minus the platform overhead

Awesome Lists containing this project

README

          





Haloy

Turn any VPS into a production-ready app platform in minutes.

Zero-downtime deploys, automatic HTTPS, and instant rollbacks, without complex setup or vendor lock-in.


Website ยท
Docs

## โœจ Features

Haloy helps you deploy apps with:

- Fast setup on a fresh VPS
- Automatic HTTPS
- Zero-downtime deploys
- Simple rollbacks
- Preview environments
- No Kubernetes required
- No vendor lock-in

## ๐Ÿš€ Quickstart

### Prerequisites

- **Server**: Any modern Linux server
- **Local**: Docker for building your app
- **Domain**: A domain or subdomain pointing to your server for secure API access

### 1. Install haloy

**Install script:**

```bash
curl -fsSL https://sh.haloy.dev/install-haloy.sh | sh
```

**Homebrew (macOS / Linux):**

```bash
brew install haloydev/tap/haloy
```

**npm/pnpm/bun**
```bash
npm i -g haloy

pnpm add -g haloy

bun add -g haloy
```

### 2. Server Setup

SSH into your server and run the install script with your API domain:

```bash
curl -fsSL https://sh.haloy.dev/install-haloyd.sh | API_DOMAIN=haloy.yourserver.com sh
```

**Note:** If you're not logged in as root, use `| sudo sh` instead of `| sh`.

After installation completes, copy the API token from the output and add the server to your local machine:

```bash
haloy server add haloy.yourserver.com
```

For detailed options, see the [Server Installation](https://haloy.dev/docs/server-installation) guide.

### 3. Create haloy.yaml
Create a `haloy.yaml` file:

```yaml
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](https://github.com/haloydev/examples) for complete configurations showing how to deploy common web apps like Next.js, TanStack Start, static sites, and more.

### 4. Deploy

```bash
haloy deploy

# Check status
haloy status
```

That's it! Your application is now deployed and accessible at your configured domain.

## Learn More
- [Configuration Reference](https://haloy.dev/docs/configuration-reference)
- [Commands Reference](https://haloy.dev/docs/commands-reference)
- [Architecture](https://haloy.dev/docs/architecture)
- [Examples Repository](https://github.com/haloydev/examples)