https://github.com/nil369/skyport
The Lightweight Developer Cloud OS
https://github.com/nil369/skyport
cloud docker fiber go golang open-source paas react self-hosted sqlite tailwindcss typescript vps websocket
Last synced: 29 days ago
JSON representation
The Lightweight Developer Cloud OS
- Host: GitHub
- URL: https://github.com/nil369/skyport
- Owner: Nil369
- License: agpl-3.0
- Created: 2026-05-09T21:47:12.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-05-17T22:59:46.000Z (about 1 month ago)
- Last Synced: 2026-05-18T00:50:34.687Z (about 1 month ago)
- Topics: cloud, docker, fiber, go, golang, open-source, paas, react, self-hosted, sqlite, tailwindcss, typescript, vps, websocket
- Language: Go
- Homepage: https://skyport.akashhalder.in
- Size: 25.6 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Notice: NOTICE
Awesome Lists containing this project
README

# SkyPort 🌩️
**The Lightweight Developer Cloud OS**
> Self-hosted infrastructure for developers who want a calm, modern control plane on a small VPS—without sacrificing ambition.
### Modern infrastructure management with:
- Browser terminal
- File manager
- Git deployments
- PM2 process management
- Docker orchestration
- Real-time monitoring
- Developer-first UI
***Built for small VPS (512MB - 1GB RAM) instances without sacrificing power.***
> Docker-based workloads are recommended on VPS instances with 2GB+ RAM for the best experience.
----
## 📃Read The Offical Skyport Docs
> *Visit the* **[Offical Docs Site](https://docs.skyport.akashhalder.in/)** for ***installation instructions, configuration, and detailed usage guides.***
| Skyport Docs Light | Skyport Docs Dark |
|---|---|
|  | |
___
# 📸 Screenshots
| Overview | Projects |
|---|---|
|  |  |
| Deployments | Docker Management |
|---|---|
|  |  |
| Code Editor | File Explorer |
|---|---|
|  |  |
| Terminal (Dark) | Terminal (Light) |
|---|---|
|  |  |
| PM2 Process Management | Domain Management |
|---|---|
|  |  |
| System Metrics (CPU) | System Metrics (Memory) |
|---|---|
|  |  |
| Marketplace | Marketplace Install |
|---|---|
|  |  |
| Team Management | Cluster / VPS Management |
|---|---|
|  |  |
| SSH Remote Server | Profile Management |
|---|---|
|  |  |
| Admin Panel
|---|
|  |
| Skyport CLI 🔥 | Skyport TUI 🧑💻|
|---|---|
|  |  |
---
## Tech stack
| Layer | Technologies |
|--------|----------------|
| API | Go, [Fiber](https://gofiber.io/), REST, WebSockets (metrics stream) |
| Data | SQLite, [GORM](https://gorm.io/) |
| Frontend | React, TypeScript, [Vite](https://vitejs.dev/) |
| Metrics | [gopsutil](https://github.com/shirou/gopsutil) *(host metrics — in development)* |
---
## Development setup
**Prerequisites**
- **Go** 1.22+
- **Node.js** 20+ (or current LTS) and **npm** for the frontend
Clone the repository and open two terminals (API + UI).
---
## Environment variables
Copy [.env.example](./.env.example) to `backend/.env` and adjust values.
| Variable | Purpose |
|----------|---------|
| `SKYPORT_HOST` / `SKYPORT_PORT` | HTTP bind address |
| `SKYPORT_DB_PATH` | SQLite file path |
| `SKYPORT_ENV` | `development` · `production` · `test` |
| `SKYPORT_LOG_LEVEL` | `debug` · `info` · `warn` · `error` |
| `SKYPORT_SHUTDOWN_TIMEOUT_SEC` | Graceful shutdown budget (seconds) |
| `SKYPORT_METRICS_DISK_PATH` | Optional disk mount for usage stats |
| `JWT_EXPIRES` | JWT access token TTL in seconds (default `604800` = 7 days) |
| `APP_*` / `JWT_SECRET` | Reserved for frontend + future auth alignment |
See `.env.example` for the full list and comments.
---
## Running the backend
```bash
cd backend
cp ../.env.example .env # optional; edit SKYPORT_PORT etc.
go run ./cmd/server
```
The server prints a local URL (e.g. `http://127.0.0.1:/api/v1/health`). Ensure **the port in the browser matches** `SKYPORT_PORT`.
Swagger UI:
- `http://127.0.0.1:8080/docs/index.html`
- Generate/refresh OpenAPI docs before commits:
```bash
cd backend
make docs
```
**Build a binary**
```bash
cd backend
go build -o bin/skyport-server ./cmd/server
./bin/skyport-server # Linux/macOS
# bin\skyport-server.exe on Windows
```
Cross-platform release builds:
```bash
cd backend
make build-all # binaries only
make build-all-with-docs # regenerate swagger + binaries
```
Platform scripts:
- Linux/macOS: `GENERATE_DOCS=1 sh ./scripts/build.sh`
- PowerShell: `$env:GENERATE_DOCS="1"; ./scripts/build.ps1`
- CMD: `set GENERATE_DOCS=1 && scripts\build.bat`
---
## Running the frontend
```bash
cd frontend
npm install
npm run dev
```
Vite defaults to its own port (often `5173`). The UI is **not** yet a full dashboard; expect placeholder screens until monitoring and layout land.
---
## 💳 Credits
**SkyPort** is initiated and maintained by Akash Halder (Nil369), Founder of **Akash Halder Technologia** as the brand home for the project.
Thank you to everyone who files issues, sends patches, and self-hosts early builds—you shape what SkyPort becomes.
---
## 📄License
Copyright © **Nil369**, Founder of ***Akash Halder Technologia*** and contributors.
Licensed under the **GNU Affero General Public License v3.0**. See [LICENSE](./LICENSE).
---
## 🙏 Support the project
If SkyPort saves you time or infra cost:
- Star the repo and **watch** releases.
- Share honest feedback (what hurts on a 512MB box matters).
- Contribute docs, translations, or code.
- When Pro/Enterprise exists, consider them if you need **commercial licensing** or **priority support**—the community edition remains the AGPL backbone.
---