Skip to content

theolujay/appa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

113 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

GitHub Release Ansible Tests Go Report Card GitHub License

Turn any VPS into your own zero-config deployment platform, effortlessly!

Just connect your domain and push your code. Deploy apps instantly without Dockerfiles or playing sysadmin on hard mode. Even better: manage your entire fleet of VPSs from one terminal, anywhere!

A single person could wear both hats: operator + developer.

   โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€ Operator โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ       โ•ญโ”€โ”€โ”€โ”€โ”€โ”€ Developer โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
   โ”‚                       โ”‚       โ”‚                       โ”‚
   โ”‚     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”‚       โ”‚      ยท git push       โ”‚
   โ”‚     โ”‚ Appa CLI โ”‚      โ”‚       |ยท appa deploy <project>โ”‚
   โ”‚     โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜      โ”‚       โ”‚           โ”‚           โ”‚
   โ”‚          โ”‚            โ”‚       โ”‚           โ”‚           โ”‚
   โ”‚      SSH ยท rsync      โ”‚       โ”‚          API          โ”‚
   โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ       โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
              โ”‚                                โ”‚
           manages                          deploys
              โ–ผ                                โ–ผ
โ•ญโ”€โ”€ Fleet of Servers (VPS) โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                            โ”‚                                  โ”‚
โ”‚  โ”Œโ”€ nyc-prod โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚   โ”Œโ”€ lon-staging โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  Blog API ยท Admin UIโ”‚   โ”‚   โ”‚  Client Dashboard (stg)   โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                    โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ                          โ”‚
โ”‚  โ”Œโ”€ fra-gateway โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚   โ”Œโ”€ sfo-preview โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  Auth ยท Webhook     โ”‚   โ”‚   โ”‚  PR previews ยท E2E tests  โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                    โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ                          โ”‚
โ”‚  โ”Œโ”€ ams-worker โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚   โ”Œโ”€ (more)...โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  Queue ยท Cron jobs  โ”‚   โ”‚   โ”‚  Any VPS, anywhere        โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
Each server runs: Caddy ยท Appa API ยท BuildKit ยท PostgreSQL ยท Containers

Prerequisites

  • A fresh Linux VPS with SSH access (key-based authentication).
  • At least 4GB of RAM (2GB+ recommended for building images).
  • (Optional) A Cloudflare API token for wildcard DNS and automatic TLS.

Quick Start

curl -fsSL https://appa.theolujay.dev/install.sh | sh
appa server init my-server
appa server set-host my-server root@203.0.113.10 -i ~/.ssh/id_ed25519
appa preflight my-server
appa setup my-server

Features

Area Capabilities
Server management Initialize, provision, configure, and monitor any number of VPS servers from one CLI.
Auto-deploy One command ships source via rsync and triggers the build pipeline. Projects are auto-created on the server.
Env vars Manage per-project environment variables through appa project env set/get/unset.
Project lifecycle View deployment logs, stop running deployments, or restart with appa project logs/stop/restart.
Zero-config builds Railpack auto-detects runtimes โ€” no Dockerfiles needed.
Web dashboard React UI for deployment history, project management, and monitoring.

User Guide

See docs/user-guide.md for the full walkthrough โ€” installation, server management, project deployment, environment variables, and CLI reference.

Documentation

Doc For
User Guide Installing the CLI, provisioning servers, deploying projects, managing env vars
Architecture Design decisions, invariants, data paths, and glossary
Contributing Development setup, API routes, project structure, coding conventions
Roadmap Completed milestones and planned features

About

Turn any VPS into your own zero-config deployment platform, effortlessly ๐Ÿฆฌ

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors