Deploy Paperclip on CapRover
CapRover is a free, open-source self-hosted PaaS that turns your VPS into a simple app deployment platform. Deploy Paperclip (and anything else) through a web interface without touching nginx or SSL configuration manually.
Deploy on Railway instead →Why CapRover + Paperclip
CapRover gives you the managed platform experience on your own VPS. It handles nginx routing, Let's Encrypt SSL, Docker-based deployments, and environment variable management through a web dashboard. One CapRover instance can host Paperclip plus all your other apps.
Prerequisites
- A VPS with Ubuntu 20.04/22.04 (minimum 2 GB RAM, 1 GB for CapRover + 1 GB for Paperclip)
- A domain you control (for SSL)
- Root SSH access to the server
Step 1: Install CapRover
ssh root@YOUR_SERVER_IP
# Install Docker first
curl -fsSL https://get.docker.com | sh
# Install CapRover
docker run -p 80:80 -p 443:443 -p 3000:3000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /captain:/captain \
caprover/caprover
Wait about 60 seconds for startup. Then access CapRover at http://YOUR_SERVER_IP:3000.
Step 2: Configure CapRover
- Open
http://YOUR_SERVER_IP:3000 - Log in with default password:
captain42— change this immediately - Set up your root domain (e.g.,
caprover.yourdomain.com)
DNS configuration:
Add a wildcard A record: *.caprover.yourdomain.com → YOUR_SERVER_IP
This lets CapRover create subdomains for each app automatically.
- Enable HTTPS in CapRover settings → CapRover provides SSL for all apps automatically
Step 3: Create the Paperclip app
- In CapRover dashboard, click Apps → New App
- Name:
paperclip - Click Create New App
Step 4: Configure the Paperclip app
- Click on your
paperclipapp - Go to the App Configs tab
- Set Container HTTP Port:
3100
Step 5: Set environment variables
In the App Configs tab, add:
NODE_ENV=production
PAPERCLIP_DATA_DIR=/data
BETTER_AUTH_SECRET=your_random_secret_here
PAPERCLIP_LISTEN_PORT=3100
PAPERCLIP_LISTEN_HOST=0.0.0.0
PAPERCLIP_MIGRATION_AUTO_APPLY=true
PAPERCLIP_MIGRATION_PROMPT=never
Generate the secret: openssl rand -hex 32
Step 6: Add persistent storage
- In App Configs, find Persistent Directories
- Add: Path in container
/data, Labelpaperclip-data - Save changes
This creates a Docker volume mounted at /data.
Step 7: Deploy Paperclip
Go to the Deployment tab and choose one of:
Option A: Deploy from GitHub:
- Connect your GitHub repo with a
captain-definitionfile and Dockerfile - CapRover auto-deploys on push
Option B: Deploy from Docker image: Point CapRover at a pre-built image.
Option C: Deploy with captain-definition + Dockerfile:
Create a Dockerfile:
FROM node:20-alpine
WORKDIR /app
RUN npm install -g paperclipai
RUN mkdir -p /data
EXPOSE 3100
CMD ["npx", "paperclipai", "server", "start", "--port", "3100", "--host", "0.0.0.0"]
Create captain-definition:
{
"schemaVersion": 2,
"dockerfilePath": "./Dockerfile"
}
Upload both files as a tar archive in the Deployment tab, or push to a connected Git repo.
Step 8: Enable HTTPS and custom domain
- In your app settings, click Enable HTTPS
- CapRover provisions a Let's Encrypt certificate
- Optionally: add
paperclip.yourdomain.comas a custom domain
Your Paperclip instance will be accessible at https://paperclip.caprover.yourdomain.com (or your custom domain).
Step 9: Access Paperclip
Open the assigned URL and complete the Paperclip admin setup wizard.
Updating Paperclip
Update the version in your Dockerfile and redeploy:
- Edit the Dockerfile
- Push to your connected Git repo (auto-deploys)
- Or re-upload the tar archive in the Deployment tab
Multiple services with CapRover
CapRover handles routing and SSL for all your apps. Add more services without additional nginx configuration:
paperclip.yourdomain.com→ Paperclipplausible.yourdomain.com→ Plausible Analyticsghost.yourdomain.com→ Ghost blogn8n.yourdomain.com→ n8n automation
All on the same $6–10/month VPS.
Monitoring in CapRover
CapRover shows basic resource usage in the dashboard. For more:
- Container logs: App → Logs tab
- System metrics: CapRover Dashboard → Monitoring (if NetData integration enabled)
Cost
- CapRover: Free (open source)
- VPS for CapRover + Paperclip: Hetzner CX22 at €4.51/month
Much cheaper than managed platforms. Railway gives you $20 free credit if you'd prefer not to manage CapRover.
Ready to deploy?
Affiliate disclosure: this link may earn us a commission at no extra cost to you.
This is an independent guide. Paperclip Hosting is not affiliated with the official Paperclip project. Guide steps are based on real deployments and are subject to change as the software evolves.
Related articles
Deploy Paperclip on Fly.io
Run Paperclip on Fly.io with persistent storage, zero-downtime deploys, and global edge distribution — full setup guide.
Deploy Paperclip on Render
Host Paperclip on Render with a persistent disk, free SSL, and auto-deploys from GitHub — step-by-step setup guide.
Deploy Paperclip on Hetzner Cloud
Host Paperclip on Hetzner for as little as €4.51/month — one of the cheapest VPS options in Europe with great performance.
