Rise
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.
What is Rise?
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
Features
- 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
Quick Start
Prerequisites
- Docker and Docker Compose
- Rust 1.91+
- mise (recommended for development)
Start Services
# Install development tools
mise install
# Start all services (postgres, dex, registry, backend)
mise backend:run
Services 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 and Use CLI
# 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 from crates.io
# Install the CLI and backend from crates.io
cargo install rise-deploy
# Verify installation
rise --version
Documentation
Full 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
Architecture
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 |
Project Status
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)
Contributing
Contributions are welcome! See Local Development for development setup, code style, testing, and commit conventions.
License
[Add your license here]