# QuickStack QuickStack is a self-hosted platform for running applications on your own infrastructure. Deploy web apps, databases, and more with ease, while maintaining full control and security. # Features ## Deploy Get apps running without manual container orchestration. - Deploy from any Git repository (public or private) - Deploy from any container registry - One-click database deployments from templates - Automatic domain setup and HTTPS via Let's Encrypt - Webhook-triggered auto-deploys on push ## Operate See what is running and fix problems without SSH gymnastics. - Real-time log streaming per container - Integrated web terminal for direct container access - CPU, RAM, and disk metrics per app - Health checks and restart policies - Scheduled backups ## Scale Grow from a single VPS to a multi-node cluster without rearchitecting. - Add nodes to form a cluster at any time - Cluster-wide persistent storage volumes (Longhorn) - Automatic load balancing across nodes - quickstack.me instant subdomains for fast preview access - Internal service networking between apps ## Secure Control who can access what, down to the project level. - User and group management - Granular per-project permissions - Two-factor authentication (2FA) - Network policies to isolate services - Basic authentication for exposed endpoints # How It Works ### 1. Install QuickStack on a fresh server Run a single command on your VPS or bare-metal server. QuickStack sets up the full platform. ```bash curl -sfL https://get.quickstack.dev/setup.sh | sh - ``` ### 2. Connect a Git repository or container image Point QuickStack at a GitHub, GitLab, or any other Git repo, or pull directly from Docker Hub or a private container registry. Select a database template to deploy PostgreSQL, MySQL, Redis, and others with one click. ### 3. Deploy — everything else is handled QuickStack builds your app, provisions a domain, issues an HTTPS certificate, starts the container, and gives you logs, a terminal, metrics, and backup configuration — all in the same UI. # Use Cases ### Indie developers and side projects You have a VPS and want to ship a side project without paying cloud PaaS prices or managing Kubernetes manually. QuickStack gives you the same deploy-from-Git workflow without the vendor lock-in or monthly bill. Tags: Single server, Git deploy, Low cost ### Small teams who want Heroku-like DX on their own infra Your team wants push-to-deploy, automatic HTTPS, environment variables, logs, and backups, but on infrastructure you control. QuickStack provides that without forcing anyone to learn cluster management. Tags: Team access, Permissions, Backups ### DevOps and platform engineers who want more control You are comfortable with servers but tired of gluing together Traefik, Docker Compose, and shell scripts. QuickStack provides a structured platform you can extend — with cluster support when you need to scale. Tags: Multi-node cluster, Network policies, Registry support # Frequently Asked Questions **Do I need Kubernetes knowledge to use QuickStack?** No. QuickStack runs on k3s under the hood, but you interact entirely through a web UI. You do not write Kubernetes manifests or run kubectl commands for day-to-day operations. **Can I deploy from Git repositories and Docker images from Docker Hub?** Yes. QuickStack supports both. You can connect a Git repository (GitHub, GitLab, or any other Git host) and trigger builds on push via webhooks, or you can pull an image directly from Docker Hub or a private container registry. **Does QuickStack handle HTTPS automatically?** Yes. QuickStack provisions SSL certificates via Let's Encrypt automatically when you add a domain. You do not need to configure Traefik, Nginx, or Certbot manually. **Can I run databases?** Yes. QuickStack includes database templates for PostgreSQL, MySQL, Redis, and others. You can deploy a database instance with one click and connect it to your apps using internal service networking. **How do backups work?** QuickStack supports scheduled backups for both application volumes and databases. Backups can be stored on S3-compatible object storage. You can restore from any backup directly through the UI. **Is QuickStack suitable for teams?** Yes. QuickStack includes user and group management with granular per-project permissions, and supports two-factor authentication. You can give team members access to specific projects without giving them full admin access. **Can I start on one server and scale to a cluster later?** Yes. QuickStack runs on a single server and supports adding nodes to form a multi-node cluster. Persistent storage volumes are managed by Longhorn and are accessible across all nodes in the cluster. **Is QuickStack open source?** Yes. QuickStack is open source and available on GitHub. It is licensed under the GPL-3.0 license. Contributions and feedback are welcome! # Docs - [QuickStack Docs](/docs): QuickStack is a simple Web UI to manage your Linux server and deploy your containerized applications. - Tutorials: undefined - [QuickStack Installation](/docs/tutorials/installation): QuickStack installation: fastest path to a working UI, with ports, firewall, and first login guidance. - [Deploy Your First App from Git](/docs/tutorials/first-app-from-git): Deploy an application directly from a Git repository using QuickStack. - [Deploy Your First App from a Docker Image](/docs/tutorials/first-app-from-image): Deploy a Docker image from Docker Hub or any container registry using QuickStack. - [Expose an App (Domain + HTTPS)](/docs/tutorials/expose-app): Add a custom domain and enable HTTPS for your QuickStack application. - How to: undefined - Deployments: undefined - [Redeploy](/docs/how-to/deployments/redeploy-and-rollbacks): How deployment works in QuickStack: when changes take effect, environment variables, and common gotchas. - [Webhooks & Auto-deploy](/docs/how-to/deployments/webhooks-auto-deploy): Configure webhooks to trigger automatic deployments from GitHub, GitLab, or any CI system. - Networking: undefined - [Custom Domains](/docs/how-to/networking/domains): Configure custom domains and automatic HTTPS for your QuickStack applications. - [QuickStack.me Domain](/docs/how-to/networking/quickstack-me): Use the built-in quickstack.me domain service for instant HTTPS access without manual DNS configuration. - [Internal Networking](/docs/how-to/networking/internal-networking): Internal container ports and service-to-service communication between apps in the same QuickStack project. - [Network Policies](/docs/how-to/networking/network-policies): Control traffic flow between QuickStack applications and external services using pre-configured network policy templates. - [Basic Authentication](/docs/how-to/networking/basic-auth): Protect your QuickStack applications with HTTP Basic Authentication via Traefik middleware. - Storage: undefined - [Volumes](/docs/how-to/storage/volumes): Configure persistent storage volumes for your QuickStack applications: storage classes, access modes, node affinity, and gotchas. - [File Mounts](/docs/how-to/storage/file-mounts): Inject read-only configuration files into your QuickStack containers using file mounts. - Observability: undefined - [Logs & Terminal](/docs/how-to/observability/logs-and-terminal): Use the built-in log viewer and interactive terminal to monitor and debug running QuickStack applications. - [Health Checks](/docs/how-to/observability/health-checks): Configure Kubernetes liveness, readiness, and startup probes for your QuickStack applications. - Databases: undefined - [Deploy Databases](/docs/how-to/databases/deploy-databases): Deploy pre-configured databases (PostgreSQL, MySQL, MariaDB, MongoDB) from QuickStack templates. - [Database Tools (DbGate, pgAdmin, phpMyAdmin)](/docs/how-to/databases/db-tools): Enable and use built-in database GUI tools in QuickStack: DbGate, pgAdmin, and phpMyAdmin. - Backups: undefined - [Backups Overview](/docs/how-to/backups/overview): Overview of QuickStack's backup model: what gets backed up, how backups work, and where to find them. - [S3 Targets](/docs/how-to/backups/s3-targets): Configure S3-compatible storage targets for QuickStack backup destinations. - [Volume Backups](/docs/how-to/backups/volume-backups): Schedule automated backups for QuickStack application volumes to S3-compatible storage. - [Database Backups](/docs/how-to/backups/database-backups): Schedule automated database dump backups for MariaDB, PostgreSQL, and MongoDB in QuickStack. - [System Backups](/docs/how-to/backups/system-backups): Back up and restore the QuickStack system configuration (SQLite database) including projects, users, and app settings. - Admin: undefined - [Two-Factor Authentication (2FA)](/docs/how-to/admin/two-factor-auth): Enable TOTP two-factor authentication for your QuickStack account. - [Users & Groups](/docs/how-to/admin/users-and-groups): Manage users, groups, and per-project permissions in QuickStack. - [Cluster Monitoring](/docs/how-to/admin/cluster-monitoring): Monitor CPU, RAM, and disk usage across QuickStack cluster nodes. - [Updates & Maintenance](/docs/how-to/admin/updates-and-maintenance): Update QuickStack, manage disk space, and perform k3s cluster upgrades. - [Cluster Nodes](/docs/how-to/admin/cluster-nodes): Add and remove worker nodes, manage scheduling, and monitor node health in your QuickStack cluster. - [Password Reset](/docs/how-to/admin/password-reset): Reset the QuickStack admin password using the reset script. - Reference: undefined - [UI Navigation Map](/docs/reference/ui-navigation-map): Where to find specific features in the QuickStack UI: tabs, settings routes, and common tasks. - [Ports & Endpoints](/docs/reference/ports-and-endpoints): Reference for QuickStack ports, webhook URL pattern, and internal service hostnames. - [Glossary](/docs/reference/glossary): Glossary of QuickStack-specific terms and the key underlying technologies.