Self-host your SaaS with Docker and Dokploy
Run a ShipAny app on your own server — build the Docker image (with the database provider baked in), run it, or deploy it through Dokploy, an open-source Vercel-style panel.
Last updated: Oct 8, 2026
Every ShipAny project includes a production Dockerfile, so you can run it on any server or container platform. Dokploy gives you a Vercel-like dashboard on your own machine: Git-based deploys, domains and HTTPS.
Run with Docker
ShipAny TanStack's image is a multi-stage build on node:22-alpine that runs as a non-root user on port 3000. The database provider is chosen at build time:
docker build --build-arg DATABASE_PROVIDER=postgres -t my-app .
docker run -p 3000:3000 --env-file .env.production my-app
Without Docker, pnpm build produces a self-contained server you can run with node .output/server/index.mjs.
Deploy with Dokploy
- Get a server — 4 cores, 8 GB RAM and Ubuntu 24.04 is a comfortable starting point.
- Install Dokploy:
curl -sSL https://dokploy.com/install.sh | sh, then openhttp://<server-ip>:3000and bind a domain to the panel. - Create an application from your private Git repository (or a pre-built image) and let Dokploy build it with the project's Dockerfile.
- Add the environment variables (
DATABASE_URL,AUTH_SECRET, app URL…), attach your domain, and deploy.
Tips
- Rebuild the image when you change
DATABASE_PROVIDER— it's baked in at build time. - Configure storage (R2/S3) if you run more than one container; local uploads aren't shared between instances.
- Put the database on a private network with the app and don't expose its port publicly.
