Introduction
Requirements
QuickDeploy is a good fit when you control an Ubuntu-based VPS and want a repeatable way to build, deploy, and update your applications over SSH.
Compatibility At A Glance
Use this matrix before purchasing. The documented QuickDeploy workflow is ready when every row that applies to your deployment matches your setup.
| Area | Supported path | Verify before purchase |
|---|---|---|
| Local computer | Linux x86_64 or ARM64; macOS Intel or Apple Silicon; Windows x86_64 | The QuickDeploy binary runs and ssh, scp, and ssh-keyscan are available. |
| Target server | Ubuntu-based x86_64/AMD64 or ARM64 VPS | You have key-based SSH access, curl, Docker, and Docker Compose. |
| Server permissions | The configured SSH user can run Docker directly | Docker commands do not require an interactive sudo prompt. |
| Application | A source project with a production build and start command | Nixpacks can detect the plan, or the project defines one in nixpacks.toml; the app listens on 0.0.0.0. |
| Databases | PostgreSQL, MySQL, or Redis container added with --db | The application reads its connection settings from environment variables and uses persistent database storage. |
| Public domain | An A record points your domain to the VPS | Ports 80 and 443 are available. Backend-only containers can run without a domain. |
| Deployment check | QuickDeploy confirms that the new container process remains running | You verify the public URL after deployment; QuickDeploy does not request an HTTP health endpoint. |
The current framework catalog includes React, Vue, Angular, Svelte, Next.js, Nuxt, Remix, SvelteKit, Astro, Express, Django, Rails, and Laravel. An unlisted stack needs a production plan that Nixpacks can detect or a nixpacks.toml file; ask for a pre-purchase fit check before buying if you are unsure.
QuickDeploy is not a fit yet when
The documented workflow is not ready when the target server is not Ubuntu-based, you do not have SSH access, Docker or Docker Compose is unavailable, or the SSH user needs an interactive sudo prompt for Docker. QuickDeploy also does not provision a VPS or register and manage a domain for you.
Setup matches? Verify QuickDeploy locally
Install the CLI and run the license-free version check before purchasing.
Already verified? Review license and pricing
Continue when the CLI starts locally and every applicable compatibility row matches.
Server Requirements
- An Ubuntu-based x86_64/AMD64 or ARM64 VPS or server
- Docker and Docker Compose installed
curlinstalled- SSH access using key authentication
- An SSH user that can run Docker without an interactive
sudoprompt - Ports 80 and 443 available when deploying a public web application
QuickDeploy creates and runs the application containers on this server. It also configures Caddy for the domain and HTTPS when you provide the --domain flag.
QuickDeploy downloads its matching server helper with curl and runs Docker commands as the configured SSH user. Verify the same user can reach the server, find curl, report a supported architecture, access the Docker daemon, and run Docker Compose:
ssh your-user@your-server-ip 'command -v curl && uname -m && docker version && (docker compose version || docker-compose version)'
The architecture output must be x86_64, aarch64, or arm64. If the command fails with a Docker permission error, add the user to the Docker group and start a new SSH session before retrying. The Linux VPS setup guide includes the commands.
Local Requirements
- macOS, Linux, or Windows
- The QuickDeploy CLI
ssh,scp, andssh-keyscanavailable on your PATH- Your application available locally or in CI/CD
These OpenSSH tools are usually pre-installed on macOS and Linux. On Windows, install or enable the OpenSSH Client optional feature if the commands are missing.
Application Requirements
- Run QuickDeploy from the source project root, not from a generated
dist,build, or.nextdirectory. - Provide a production build and start command that Nixpacks can detect, or define them in
nixpacks.toml. - Make the application listen on
0.0.0.0inside its container. - Know the application's internal listening port. QuickDeploy defaults to
8080; pass--portwhen the app uses another port.
QuickDeploy builds the container image from source on your VPS. Generated output, dependency directories, local .env files, Git metadata, and log files are excluded from the upload. A root-level .env.production file is the supported way to provide build and runtime environment variables.
Domain Requirements
For a public web application, you need a domain with an A record pointing to the server. QuickDeploy configures the reverse proxy and HTTPS, but it does not register or manage the domain for you.
Backend-only containers can be deployed without a domain and can communicate with other project containers through the internal Docker network.
Before Your First Deployment
- Install QuickDeploy.
- Run the server verification command above.
- Run
quickdeploy configureand provide your server details, SSH key, and license. - Check the application requirements above.
- Open the source project root and run
quickdeploy push --domain example.com.
See the command reference for databases, custom ports, project names, and background deployments.