Strato is a fast, secure, and easy to deploy private cloud platform based on battle tested technologies and built for modern infrastructure. It enables operators to run efficient, secure, and powerful infrastructure easily.
- 🚀 High Performance: Built with Swift and Vapor for exceptional performance
- 🔒 WebAuthn/Passkey Authentication: Modern passwordless authentication
- 🏗️ VM Management: Full lifecycle management through Cloud Hypervisor integration
- 🌐 Modern Web Interface: Dynamic HTMX-powered frontend with TailwindCSS
- 🔐 Fine-grained Authorization: Powered by Permify for role-based access control
- 🐳 Container Ready: Docker and Docker Compose support for easy deployment
- 📊 PostgreSQL Backend: Reliable data persistence with Fluent ORM
- Swift 6.0 or later
- Docker and Docker Compose
- PostgreSQL (if running locally)
-
Clone the repository:
git clone https://github.com/samcat116/strato.git cd strato -
Start all services:
docker compose up app
-
Run database migrations:
docker compose run migrate
-
Access the application at
http://localhost:8080
-
Install dependencies:
swift package resolve
-
Start supporting services:
docker compose up db permify
-
Run migrations:
swift run App migrate
-
Start the development server:
swift run
- Swift - Modern, safe, and performant programming language
- Vapor - Server-side Swift web framework
- Cloud Hypervisor - Modern VMM for VM management
- PostgreSQL - Advanced open source database
- Permify - Authorization service for fine-grained access control
- HTMX - Dynamic web interfaces without complex JavaScript
- TailwindCSS - Utility-first CSS framework
Strato uses WebAuthn/Passkeys for secure, passwordless authentication. Users can register and authenticate using:
- Security keys (YubiKey, etc.)
- Platform authenticators (Touch ID, Face ID, Windows Hello)
- Cross-platform authenticators
strato/
├── Sources/App/ # Swift application source
│ ├── Controllers/ # HTTP request handlers
│ ├── Models/ # Database models
│ ├── Services/ # Business logic services
│ └── configure.swift # Application configuration
├── Resources/Views/ # Leaf templates
├── Public/ # Static assets
├── web/ # HTMX templates and components
├── permify/ # Authorization schema and config
└── docker-compose.yml # Development environment
For detailed technical architecture information, see ARCHITECTURE.md.
swift build- Build the applicationswift test- Run testsswift run- Start the applicationdocker compose build- Build Docker imagesdocker compose up app- Start with all dependenciesdocker compose run migrate- Run database migrations
Key configuration options:
DATABASE_URL- PostgreSQL connection stringPERMIFY_ENDPOINT- Permify service endpointWEBAUTHN_RELYING_PARTY_ID- WebAuthn relying party identifierWEBAUTHN_RELYING_PARTY_ORIGIN- WebAuthn origin URL
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and add tests
- Ensure all tests pass:
swift test - Submit a pull request
This project is licensed under the Functional Source License 1.1 with MIT Future License - see the LICENSE.md file for details.