Deploying a Vibecoder App
Introduction
Vibecoder is an open-source coding collaboration and snippet platform. This guide shows how to package Vibecoder with a Dockerfile, configure environment secrets, persist user data, and deploy it to Klutch.sh over HTTP.
Prerequisites
- GitHub repository containing your Dockerfile.
- Backing database (e.g., PostgreSQL) if your Vibecoder setup requires one.
- Klutch.sh project ready in klutch.sh/app.
Project structure
.└── DockerfileSample Dockerfile
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./RUN npm install --production
COPY . .
# Default Vibecoder portENV PORT=3000EXPOSE 3000
CMD ["npm", "run", "start"]Required environment variables
PORT– internal port (default3000).APP_URL– public URL, e.g.,https://example-app.klutch.sh.- If using Postgres:
DATABASE_URL(e.g.,postgres://USER:PASSWORD@HOST:PORT/DB). JWT_SECRETor equivalent app secret for sessions/auth.
Optional environment variables
NODE_ENV=production- Email provider credentials if Vibecoder sends notifications.
- Storage provider keys if using object storage for assets.
Persistence
If Vibecoder stores uploads or local cache:
- Mount path:
/app/data - Size: based on expected snippets/assets
Networking
- Protocol: HTTP
- Internal port:
3000 - Users reach
https://example-app.klutch.shwhile Klutch.sh routes to port3000inside the container.
Health check (recommended)
curl -I http://localhost:3000Deployment on Klutch.sh
- Push your Dockerfile and source code to GitHub.
- In klutch.sh/app, create a new app and select GitHub as the source.
- Klutch.sh automatically detects the Dockerfile in the repository root.
- Select HTTP traffic and set the internal port to
3000. - Add environment variables for
APP_URL, secrets (e.g.,JWT_SECRET), and database/storage settings. Mark sensitive values as secrets. - Attach a persistent volume at
/app/dataif you store uploads locally. - Deploy. Once live, log in to the Vibecoder UI to create your first project and snippets.
Verification
-
UI: open
https://example-app.klutch.shand confirm the Vibecoder dashboard loads. -
Quick check:
Terminal window curl -I https://example-app.klutch.sh
Next steps
- Enforce strong secrets and rotate them periodically.
- Enable database backups if using PostgreSQL.
- Offload assets to object storage for better scalability.