Quickstart
Connect your first GitHub repo and trigger a build in minutes
API Reference
Explore all REST endpoints and WebSocket events
Architecture
Understand how the CI/CD pipeline works end to end
Connect a repo
Step-by-step guide to connecting and configuring a repository
How it works
Shipyard automates the full lifecycle from code push to live deployment:Authenticate with GitHub
Sign in via GitHub OAuth. Shipyard requests
read:user, repo, and read:org scopes so it can register webhooks and clone private repositories on your behalf.Connect a repository
Select a GitHub repo, choose a branch, and provide install and build commands. Shipyard automatically registers a webhook on the repo via the GitHub API.
Push code
Every push to the configured branch triggers the webhook. Shipyard verifies the HMAC-SHA256 signature, then starts a build automatically.
Build and test
Shipyard clones the repo, generates a Dockerfile if needed, builds a Docker image, and runs your install and build commands inside an isolated container. Logs stream to your client in real time via Socket.io.
Key features
Docker-isolated builds
Every build runs inside a fresh Docker container. Projects without a Dockerfile get one generated automatically.
Real-time log streaming
Build and test logs stream to your frontend via Socket.io as they happen, with line numbers and error classification.
Encrypted secrets
Environment variables are stored with AES-256-GCM encryption and injected at build time — never exposed in API responses.
Subdomain deployments
Static sites and SPAs are served at
<project-name>.<your-domain> with SPA fallback support for client-side routing.Rollback support
Revert any project to a previous deployment by re-running the build from that deployment’s commit hash.
Framework detection
Vite and Next.js projects are automatically detected and their output directories resolved without manual configuration.