A Rust-based platform for deploying containerized applications with minimal configuration.
Warning
Early Work in Progress
This project is in a very early experimental stage. It is approximately 99% coded by Claude AI (under technical guidance), which means:
- The codebase is actively evolving and may contain bugs or incomplete features
- APIs and interfaces may change frequently without notice
- Documentation may be out of sync with the current implementation
- Production use is not recommended at this stage
If you choose to use or experiment with Rise, please be aware that you're working with experimental software. Contributions, bug reports, and feedback are welcome, but please set expectations accordingly.
Rise simplifies container deployment by providing:
- Simple CLI for building and deploying apps
- Multi-tenant projects with team collaboration
- OAuth2 authentication via Dex
- Multiple registry backends (AWS ECR, Docker)
- Service accounts for CI/CD integration
- Web dashboard for monitoring deployments
- Project & Team Management: Organize apps and collaborate with teams
- OAuth2/OIDC Authentication: Secure authentication via Dex
- Multi-Registry Support: AWS ECR, Docker Registry (Harbor, Quay, etc.)
- Service Accounts: Workload identity for GitHub Actions, GitLab CI
- Multi-Process Architecture: Separate controllers for deployments, projects, ECR
- Embedded Web Frontend: Single-binary deployment with built-in UI
- Docker and Docker Compose
- Rust 1.91+
- mise (recommended for development)
# Install development tools
mise install
# Start all services (postgres, dex, registry, backend)
mise backend:runServices will be available at:
- Backend API: http://localhost:3000
- Web UI: http://localhost:3000
- PostgreSQL: localhost:5432
Default credentials:
- Email:
admin@example.comortest@example.com - Password:
password
# Build the CLI from source
cargo build --bin rise
# The CLI is now available as 'rise' (if using direnv)
# Or use the full path: ./target/debug/rise
rise login
rise project create my-app
rise deployment create my-app --image nginx:latest
# Local development
rise run --project my-app # Build and run locally with project env vars# Install the CLI and backend from crates.io
cargo install rise-deploy
# Verify installation
rise --versionFull documentation is available in /docs:
- Setup - Quick start guide
- Local Development - Development workflow
- CLI Guide - Command-line usage
- Authentication - OAuth2 & service accounts
- Deployments - Deployment lifecycle
- Building Images - Docker, pack, railpack
- Configuration - Backend configuration
- Container Registries - ECR, Docker, local
- Kubernetes - K8s deployment backend
- Production Deployment - Production setup
- Database - PostgreSQL & migrations
- Testing - Testing strategies
- Troubleshooting - Common issues
Rise uses a multi-process architecture:
| Component | Purpose |
|---|---|
| rise-backend (server) | HTTP API with embedded web frontend |
| rise-backend (controllers) | Deployment, project, and ECR reconciliation |
| rise (CLI) | Command-line interface |
| PostgreSQL | Database for projects, teams, deployments |
| Dex | OAuth2/OIDC provider for authentication |
Production Ready:
- ✅ OAuth2 PKCE authentication
- ✅ Project & team management
- ✅ Service accounts (workload identity for CI/CD)
- ✅ AWS ECR integration with Terraform module
- ✅ Kubernetes controller with Ingress authentication
- ✅ Build integrations (Docker, Buildpacks, Railpack)
- ✅ Embedded web frontend
- ✅ Deployment rollback and expiration
In Development:
- 🚧 Additional registry providers (GCR, ACR, GHCR)
Contributions are welcome! See Local Development for development setup, code style, testing, and commit conventions.
[Add your license here]
