# VPS Snaps > Automated VPS snapshots, database backups, and Docker volume backups — set up in minutes, never lose data again. ## What is VPS Snaps? VPS Snaps is a SaaS platform that automates infrastructure backups for developers and agencies. It connects to your servers and cloud providers to run scheduled backups, storing everything to S3-compatible storage destinations. ## Core Features - **VPS Snapshots** — Automated DigitalOcean Droplet snapshots on a schedule - **Database Backups** — PostgreSQL, MySQL, and MariaDB backups over SSH (pg_dump / mysqldump) - **Docker Backups** — Docker volume archives and docker-compose file backups over SSH - **S3-Compatible Storage** — Store backups on AWS S3, Cloudflare R2, Backblaze B2, or DigitalOcean Spaces - **SSH Key Management** — Secure encrypted SSH key storage for server connections - **Backup History** — Full run logs with success/failure status and file details - **Notifications** — Email alerts on backup failure - **Two-Factor Authentication** — TOTP 2FA with authenticator app + backup codes ## Pricing Plans - **Starter** — $15/month — 3 servers, 5 backup jobs, 30-day retention - **Pro** — $29/month — 10 servers, 25 backup jobs, 90-day retention - **Agency** — $79/month — Unlimited servers and jobs, 365-day retention ## Tech Stack - **Frontend** — Next.js 16 (App Router), TypeScript, Tailwind CSS, shadcn/ui - **Backend** — Next.js API routes, Prisma ORM, PostgreSQL - **Job Queue** — BullMQ + Redis - **Authentication** — Custom JWT sessions (jose), bcrypt passwords, TOTP 2FA (otpauth) - **Email** — Amazon SES (SMTP) / SMTP / Resend - **Billing** — Stripe (Starter $15, Pro $29, Agency $79) - **Infrastructure** — PM2, nginx, Let's Encrypt SSL ## Key Routes - `/` — Marketing homepage - `/features` — Feature overview - `/pricing` — Pricing plans - `/faq` — Frequently asked questions - `/login` — Sign in - `/register` — Create account - `/2fa` — Two-factor authentication challenge - `/app/dashboard` — User dashboard (authenticated) - `/app/servers` — SSH server management - `/app/providers` — Cloud provider connections (DigitalOcean, etc.) - `/app/storage` — S3-compatible storage destinations - `/app/backup-jobs` — Backup job configuration - `/app/backup-runs` — Backup run history - `/app/billing` — Subscription and billing - `/app/settings` — Account settings, password, 2FA - `/admin` — Admin overview (admin only) - `/admin/customers` — Customer management - `/admin/subscriptions` — Subscription management - `/admin/backup-runs` — Cross-workspace backup run monitor - `/admin/settings` — System settings (email, Stripe keys) ## API Endpoints - `POST /api/auth/login` — Authenticate user - `POST /api/auth/register` — Create new account - `POST /api/auth/logout` — End session - `GET/POST /api/auth/2fa/setup` — TOTP setup - `POST /api/auth/2fa/enable` — Enable 2FA - `POST /api/auth/2fa/disable` — Disable 2FA - `POST /api/auth/2fa/verify` — Verify 2FA challenge - `GET/POST /api/servers` — Server CRUD - `GET/POST /api/providers` — Provider connection CRUD - `GET/POST /api/storage` — Storage destination CRUD - `GET/POST /api/backup-jobs` — Backup job CRUD - `GET /api/backup-runs` — Backup run history - `POST /api/backup-runs/[id]/trigger` — Manually trigger a backup run - `GET/POST /api/admin/settings` — System settings (admin) - `POST /api/admin/settings/test-email` — Send test email (admin) - `POST /api/webhooks/stripe` — Stripe webhook handler ## Data Model (summary) - **User** — email, hashed password, 2FA fields, role (USER/ADMIN) - **Workspace** — per-user workspace, linked to Stripe subscription - **Plan** — Starter/Pro/Agency with feature limits - **Subscription** — Stripe subscription state per workspace - **Server** — SSH server connection details (host, port, user, SSH key) - **SshKey** — Encrypted SSH private key storage - **ProviderConnection** — Cloud provider API tokens (DigitalOcean, etc.) - **StorageDestination** — S3-compatible bucket config (encrypted credentials) - **BackupJob** — Scheduled backup job config (type, schedule, source, destination) - **BackupRun** — Individual backup execution result with logs - **SystemSetting** — Admin-configurable settings (email, Stripe keys) stored encrypted in DB ## Security - Passwords hashed with bcrypt (12 rounds) - All secrets (API tokens, SSH keys, storage credentials) encrypted with AES-256-GCM - JWT sessions with 7-day expiry stored in httpOnly cookies - TOTP 2FA with ±1 window tolerance; backup codes bcrypt-hashed - Admin routes protected by role check (ADMIN only) - Stripe webhook signature verification ## Company VPS Snaps is built and operated by Wantabit. Contact: support@vpssnaps.com ## Links - Website: https://vpssnaps.com - Pricing: https://vpssnaps.com/pricing - Features: https://vpssnaps.com/features - FAQ: https://vpssnaps.com/faq