Airo: Effortless Project Deployment from Local to Production VPS

Airo: Effortless Project Deployment from Local to Production VPS

Summary

Airo is a Go-based tool designed for simple and efficient deployment of projects from a local machine to a production VPS. It automates the process of building Docker images and deploying them via SSH or a registry, making it ideal for self-hosted side projects. This solution offers a straightforward alternative to complex CI/CD pipelines, focusing on speed and control.

Repository Info

Updated on May 3, 2026
View on GitHub

Tags

Click on any tag to explore related repositories

Introduction

Airo is an open-source tool written in Go that simplifies the deployment of your projects directly from your local computer to a production Virtual Private Server (VPS). It's designed to streamline the process of building Docker images and deploying them securely over SSH or through a Docker registry, all driven by a simple airo.yaml configuration file. Airo aims to make self-hosting projects accessible and efficient, reducing the complexity often associated with modern deployment strategies.

Installation

To get started with Airo, you can install it directly from the source code. Ensure you have Go installed on your system.

git clone https://github.com/bypirob/airo.git
cd airo
make install

Examples

Airo uses an airo.yaml file to define your project's images and deployment strategy. Here's a typical configuration example:

images:
  app:
    base_image: node:24-alpine
    target_arch: linux/amd64
deploy:
  type: ssh # or registry
  containers:
    - name: "app"
      image: "app"
      port: 3000
      app_port: 3000
      env_file: "/etc/airo/app.env"
      networks:
        - "frontend"
        - "backend"
  ssh:
    host: "192.168.1.100"
    user: "admin"
    port: 22
    identity_file: "~/.ssh/id_rsa"
  registry:
    registry_url: "registry.example.com"
    repository: "my-app"

Once configured, you can use various commands to manage your deployments:

airo build --tag dev --context .
airo push dev
airo deploy --tag dev
airo release --tag dev --context .
airo status
airo tags
airo version

The airo release command combines building, pushing, and deploying into a single step.

Why Use Airo?

Airo offers a compelling solution for developers who want to deploy their side projects without the overhead of complex infrastructure. While Kubernetes, PaaS, and extensive CI/CD pipelines are powerful, they can be overkill for simpler projects. Airo provides a cost-effective and controlled approach, allowing you to manage your server while still benefiting from automation. Key advantages include:

  • Focus on product development, not infrastructure management.
  • Efficient Docker image handling, building and delivering via registry or direct copy.
  • Instant deployment with a single command from your local machine.
  • Secure and easy updates for configurations and containers using SSH.

Links

Explore the Airo project on GitHub for more details, contributions, and the latest updates: