{"id":26540934,"url":"https://github.com/bypirob/airo","last_synced_at":"2026-01-12T16:05:41.301Z","repository":{"id":281338207,"uuid":"944951520","full_name":"bypirob/airo","owner":"bypirob","description":"Deploy your projects from local to production (self-hosted).","archived":false,"fork":false,"pushed_at":"2025-03-19T16:15:47.000Z","size":20,"stargazers_count":368,"open_issues_count":3,"forks_count":16,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-19T16:25:55.782Z","etag":null,"topics":["devops","self-hosted"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bypirob.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-08T10:01:59.000Z","updated_at":"2025-03-19T16:14:21.000Z","dependencies_parsed_at":"2025-03-08T12:20:21.476Z","dependency_job_id":null,"html_url":"https://github.com/bypirob/airo","commit_stats":null,"previous_names":["bypirob/airo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bypirob%2Fairo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bypirob%2Fairo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bypirob%2Fairo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bypirob%2Fairo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bypirob","download_url":"https://codeload.github.com/bypirob/airo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244890080,"owners_count":20527033,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["devops","self-hosted"],"created_at":"2025-03-22T01:01:40.796Z","updated_at":"2026-01-12T16:05:41.273Z","avatar_url":"https://github.com/bypirob.png","language":"Go","readme":"# 🚀 Airo\n\n**Deploy your projects directly from your local computer to your production server (VPS) easily.**\n\nAiro builds Docker images and deploys them over SSH or via a registry, driven by `airo.yaml`.\n\n## Why Airo?\n\nDeploying side-projects doesn't have to be complicated or expensive. Kubernetes, Platform as a Service (PaaS) and CI/CD pipelines are a powerful and exciting solutions, but sometimes they're more complex than your project requires. If you enjoy managing your server, it can be significantly cheaper and offer greater control over the technical details.\n\nI want to automate this process and deploy easily to my own server. That's why I've created **Airo**:\n\n- 🚀 **Focus on building your product**, not managing infrastructure.\n- 🐳 **Build and deliver Docker images via a registry or direct copy**.\n- ⚡️ **Deploy instantly** with a single command from your computer.\n- 🔑 **Easily update configurations and containers securely** using SSH.\n\n## Installation\n\n### From Source\n\n```bash\ngit clone https://github.com/bypirob/airo.git\ncd airo\nmake install\n```\n\n## Usage\n\n### Configure airo.yaml\n\n```yaml\nname: airo\ncontainer:\n  target_arch: linux/amd64\n  port: 3000\n  app_port: 3000\ndeploy:\n  type: ssh # or registry\n  env_file: \"/etc/airo/app.env\"\n  networks:\n    - \"frontend\"\n    - \"backend\"\n  ssh:\n    host: \"192.168.1.100\"\n    user: \"admin\"\n    port: 22\n    identity_file: \"~/.ssh/id_rsa\"\n  registry:\n    registry_url: \"registry.example.com\"\n    repository: \"my-app\"\n```\n\n### Commands\n\n```bash\nairo build --tag airo:dev --context .\nairo push --tag airo:dev\nairo deploy --tag airo:dev\nairo status\nairo tags\nairo tags --remote\nairo release --tag airo:dev --context .\nairo version\n```\n\n### Project and config paths\n\nBy default, airo reads `airo.yaml` from the current directory. You can point to a different project root or config file:\n\n```bash\nairo build --project /path/to/project --config airo.yaml\n```\n","funding_links":[],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbypirob%2Fairo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbypirob%2Fairo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbypirob%2Fairo/lists"}