Deploy TypeScript & Docker Apps with Zero Config
The lightweight, self-hosted PaaS that turns your Git pushes into live deployments on your own OCI server. Complete with automated SSL, dynamic port allocation, and a gorgeous glassmorphic dashboard.
The lightweight, self-hosted PaaS that turns your Git pushes into live deployments on your own OCI server. Complete with automated SSL, dynamic port allocation, and a gorgeous glassmorphic dashboard.
$ git push origin main
Enumerating objects: 5, done.
Writing objects: 100% (3/3), 284 bytes, done.
remote: [Shipdeck Webhook] Received push event for branch main
remote: [Builder] Building docker image for shipdeck-landing-page...
remote: [Builder] Image built successfully: shipdeck-landing-page:latest
remote: [Deployer] Restarting container on port 9015...
remote: [Caddy] Registering SSL certificate for: myapp.shipdeck.in
remote: [Deployer] Successfully deployed! App is live at https://myapp.shipdeck.in 🚀
$
Stop paying premium prices for third-party hosting. Turn any Ubuntu or Oracle Cloud VM into your personal hosting platform.
Connect your repository with GitHub OAuth. Shipdeck registers webhooks automatically to build and deploy whenever you push to main.
Powered by Caddy. Generates and manages free SSL certificates from Let's Encrypt automatically with zero maintenance needed.
Since you host on your own instance, there are no arbitrary platform limits, hidden container wake-up delays, or idle shut-downs.
Every container gets a secure, private port dynamically allocated between 9000 and 10000. Caddy handles the reverse proxy mapping seamlessly.
How Shipdeck coordinates Docker containers, network routing, and dynamic domain mapping under the hood.
Caddy runs in host network mode to listen directly on port 80/443. The Shipdeck backend writes site configurations dynamically to the mounted conf.d/ folder, triggering a graceful Caddy configuration reload whenever deployments spin up or down.
Follow these quick setup commands to spin up your self-hosted Shipdeck PaaS locally or on OCI.
# 1. Clone the repository
git clone https://github.com/shipdeck-ai/shipdeck.git
cd shipdeck
# 2. Configure Environment variables
cp .env.example .env
# Edit .env with your GitHub OAuth credentials
# 3. Start database and local servers
docker compose up -d db
pnpm install
pnpm db:generate && pnpm migrate
pnpm dev