SynCloud
Your own cloud on your own servers
- Type
- Platform / tool
- Built with
- Go
- Source
- Public repository
Overview
A self-hosted cloud platform that turns a handful of Linux servers into something between Heroku and AWS: deploy containers, managed databases and Git apps across a fleet of machines from one dashboard, with no Kubernetes or etcd to operate.
Core features
Apps from a container image or a Git repository with HTTPS addresses, custom domains, rolling deploys, rollbacks and pre-release migrations; managed PostgreSQL and Valkey (Redis) with replicas, automatic failover, autoscaling, backups and point-in-time restore; a private WireGuard network between nodes with security groups and a managed host firewall; built-in metrics, logs, alerts and traffic insights; teams with IAM users, groups, roles and audited policies; a synctl command-line client and a browser terminal.
Architecture
One binary per role. A controller (dashboard, API, scheduler, SQLite state with encrypted S3 backups, Traefik ingress, image registry, BuildKit, VictoriaMetrics and VictoriaLogs) and agents on every node that dial out over mutually authenticated gRPC. The control plane is split into focused Go packages — scheduler, autoscaler, certificates, firewall, IAM, backups, builds, Git server and provider connectors — with Protobuf contracts generated through buf. The dashboard is a React single-page app (TanStack Router and Query, ECharts, xterm.js).
Frameworks, tools & libraries
The stack behind it
Frameworks
- gRPC + Protobuf
- React
- TanStack Router
- Vite
Tools & infrastructure
- Docker
- Traefik
- BuildKit
- WireGuard
- PostgreSQL
- Valkey (Redis)
- SQLite
- S3-compatible storage
- VictoriaMetrics
- VictoriaLogs
- buf
- GitHub Releases
Libraries
- pgx
- go-redis
- Cobra
- goose
- minio-go
- TanStack Query
- ECharts
- xterm.js
- Tailwind CSS
Skills applied
What I brought to it
- 01
Control-plane and scheduler design for a multi-node container platform
- 02
Go systems programming: netlink, WireGuard, host firewall, PTY relay
- 03
Database high availability: replication, failover, autoscaling, point-in-time restore
- 04
IAM and policy engines with audit trails
- 05
mTLS and certificate lifecycle between controller and agents
- 06
Observability: metrics, logs and alerting built into the platform
- 07
Release engineering: single static binaries, an installer script and versioned releases
Languages
What it's written in
- Go~397 files
control plane, agent and CLI
- TypeScript~143 files
dashboard
- SQL~46 files
migrations
- Shell~38 files
installers and scripts
Next project
CUT2STYLE (C2S)