https://github.com/jasonlovesdoggo/velo
Docker Swarm PaaS that just works - deploy, monitor, scale, automate.
https://github.com/jasonlovesdoggo/velo
coolify deployment devops heroku self-host self-hostable self-hosted selfhosting vps vps-deployment vps-setup vps-ubuntu
Last synced: 8 months ago
JSON representation
Docker Swarm PaaS that just works - deploy, monitor, scale, automate.
- Host: GitHub
- URL: https://github.com/jasonlovesdoggo/velo
- Owner: JasonLovesDoggo
- License: agpl-3.0
- Created: 2025-05-03T17:46:06.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-13T22:38:34.000Z (about 1 year ago)
- Last Synced: 2025-06-26T05:37:18.174Z (12 months ago)
- Topics: coolify, deployment, devops, heroku, self-host, self-hostable, self-hosted, selfhosting, vps, vps-deployment, vps-setup, vps-ubuntu
- Language: Go
- Homepage:
- Size: 198 KB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Roadmap: docs/roadmap.md
Awesome Lists containing this project
README
# Velo
A lightweight, self-hostable deployment platform built on Docker Swarm. PaaS simplicity without the complexity.
## What is Velo?
Velo transforms Docker Swarm into a user-friendly deployment platform for small teams and homelab enthusiasts. Deploy services through a clean web interface, powerful CLI, or API - all while maintaining the simplicity and reliability of Docker Swarm.
## Quick Start
### Automated Installation
```bash
curl -sSL https://raw.githubusercontent.com/jasonlovesdoggo/velo/main/install.sh | bash
```
### Manual Installation
```bash
# Clone and build
git clone https://github.com/jasonlovesdoggo/velo.git
cd velo
make build
# Start manager node
./bin/velo --manager
# Access web interface at http://localhost:8080
# Default login: admin / admin
```
## Features
- **Web Interface**: Deploy and manage services through a modern web UI
- **CLI Tools**: Full-featured command line interface for automation
- **Authentication**: Built-in user management and session handling
- **Docker Swarm**: Leverages proven container orchestration
- **State Management**: Persistent service configuration and deployment history
## Usage
### Deploy via Web UI
1. Navigate to `http://localhost:8080`
2. Login with default credentials (admin/admin)
3. Use the Deploy Service form to create new deployments
### Deploy via CLI
```bash
# Deploy a service
./bin/veloctl deploy --name nginx --image nginx:latest --replicas 2
# Check status
./bin/veloctl status nginx
# Scale service
./bin/veloctl scale nginx --replicas 5
```
### Deploy via API
```bash
curl -X POST http://localhost:37355/api/deploy \
-H "Content-Type: application/json" \
-d '{"serviceName":"nginx","image":"nginx:latest","replicas":1}'
```
## Architecture
- **Server** (`velo`): Main application with manager and worker modes
- **CLI** (`veloctl`): Client interface for deployments and management
- **Web Interface**: Built-in HTTP server for browser-based management
- **gRPC API**: High-performance API for programmatic access
## Requirements
- Docker 20.10+ with Swarm mode enabled
- Go 1.24+ (for building from source)
- Linux/macOS (Windows support coming soon)
## Development
```bash
# Install dependencies
make deps
# Run tests
make test
# Start development server
make dev
# View all available commands
make help
```
## Status
Velo is production-ready for small to medium deployments. Active development continues with new features being added regularly. See [roadmap](docs/roadmap.md) for planned features.
## License
AGPL-3.[AGPLv3](LICENSE)