About this project
Shelter is an open-source deployment infrastructure tool that transforms a single VPS into a full-featured deployment platform. It targets developers and operators who want the convenience of managed hosting platforms while retaining complete ownership of their infrastructure, data, and credentials.
**Deployment Sources:** Shelter supports multiple deployment sources including GitHub repositories (via a minimally scoped GitHub App with optional push-to-deploy), public HTTPS Git URLs, ZIP file uploads, and local folder uploads. Source uploads are chunked, validated, and versioned.
**Build and Activation:** The platform builds container images from source, performs candidate health checks on a project-isolated network, and only switches production traffic after verification. Builds use a dedicated Docker BuildKit builder with configurable resource bounds for memory, swap, CPU, PID, and maximum parallelism.
**Routing and Networking:** Domains and the admin panel are published through a managed Cloudflare Tunnel, eliminating the need for public host ports. Traefik handles HTTP routing with per-project bridge networks ensuring project isolation. TLS terminates at Cloudflare Edge.
**Cloudflare Integration:** Deep integration with Cloudflare for OAuth authentication, tunnel management, DNS, zone management, hostname availability checking, and multi-domain support per project. Supports both API token and OAuth flows.
**Operator Features:** Dashboard with deployment logs, rollbacks, project CRUD, encrypted environment variables, resource limits, live runtime logs, and per-project observability. Automatic screenshot previews for successful website deployments.
**Automation:** Scoped, expiring personal access tokens, a documented HTTP API with OpenAPI specification, and an installable CLI tool for programmatic control.
**Security:** The architecture separates the API (no Docker socket) from the worker (Docker socket access), uses encrypted secrets, disposable health-check containers with dropped capabilities, and a threat model acknowledging it is designed for trusted application code rather than hostile multi-tenant scenarios.
**Installation:** Bootstrap script for Ubuntu 24.04/26.04 LTS VPS with automatic dependency installation, non-interactive provisioning support, and a doctor command for health checks. The panel remains bound to 127.0.0.1 for bootstrap and emergency access through SSH.
The project is licensed under AGPL-3.0-only and is currently at MVP status. It is built with TypeScript, Node.js 24+, Docker Compose v2, and Cloudflare Tunnel.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.