BLUEPRINT // DOKPLOYHUB // REV 2026.11 Self-Hosted PaaS Architecture VI · Tiếng Việt

DOKPLOYHUB · INTERACTIVE PAAS REPATRIATION RUNBOOK

DokployHub: Self-Hosted PaaS Repatriation Runbook & Nixpacks Build-RAM Checklist

In our deterministic DokployHub capacity model, we combine documented Linux cgroup v2 daemon footprints for Dokploy (~650 MB), Coolify v4 (~1.35 GB), Kamal 2 (~400 MB), and SQLite WAL / PocketBase with transient Nixpacks/Cargo build spikes (2.2–3.2 GB) so production migrations avoid Exit 137 OOM restarts.

We map your exact container mix on DokployHub against publicly listed vendor pricing retrieved on 2026-11-12 from Hostinger, Vultr, UltaHost, InterServer, and ChemiCloud, paired with a browser-persisted 6-step repatriation checklist.

DokployHub Prerequisite Sizer — Nixpacks Peak Build-RAM & Container Density Calculator

Select your self-hosted PaaS orchestrator, workload mix (including Next.js 15, Go/Rust, or consolidated SQLite WAL / PocketBase), and CI build topology so DokployHub computes peak deployment RAM before provisioning.

DokployHub Exit 137 OOM Alert: Peak deploy memory (8.65 GB) exceeds a 4 GB host during in-place builds. Provision at least 16 GB RAM + 4 GB NVMe swap.
Peak Deploy RAM 8.65 GB CP 1.1G + Apps 3.63G + Build 2.6G
Recommended KVM Tier 6 vCPU / 16 GB 76 GB NVMe + 4 GB Swap
Self-Hosted Monthly Total $16.49/mo vs ~$211/mo Cloud PaaS
Matched Vendor Plan Hostinger — KVM 4 (4 vCPU / 16GB RAM / 200GB NVMe) $10.49/mo (2026-11-12 rate card)
Deploy DokployHub 16GB Config on Hostinger ↗
dokploy-bootstrap.sh + docker-compose.yml (DokployHub Cgroup v2 Guard)
# 1. dokploy-bootstrap.sh — 4GB NVMe Build-Swap OOM Guard + Dokploy
fallocate -l 4096M /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
sysctl -w vm.swappiness=10 vm.vfs_cache_pressure=50
curl -sSL https://dokploy.com/install.sh | sh
# Prune dangling Nixpacks/BuildKit cache nightly at 03:30 UTC
echo '30 3 * * * root docker builder prune -af --filter "until=72h"' > /etc/cron.d/dokploy-prune

# 2. docker-compose.yml — Bounded Cgroup Limits (8x STK-NEXT15-PG, CI-INPLACE)
services:
  web-app:
    restart: unless-stopped
    environment:
      NODE_ENV: production
      NODE_OPTIONS: "--max-old-space-size=2048"
    deploy:
      replicas: 1
      update_config:
        parallelism: 1
        order: start-first
      resources:
        limits:
          cpus: "1.67"
          memory: 608M
        reservations:
          memory: 274M
    networks:
      - dokploy-network
# Automated S3 Backup Target: s3://dokploy-vault/pg-hourly (RPO 1h ZSTD, $6 InterServer 1TB)
#1 RECOMMENDED PAAS HOST
Hostinger AMD EPYC KVM NVMe (1-Click Dokploy & Coolify Templates) — KVM 4 (4 vCPU / 16GB RAM / 200GB NVMe)
Open DokployHub Hostinger Plan ($10.49/mo) ↗
#2 FASTEST 3.5GHZ+ CI BUILDS
Vultr 3.5GHz+ High Frequency NVMe (Fastest Nixpacks & Rust Builds) — HF 8 vCPU / 16GB NVMe (384GB)
Open DokployHub Vultr Plan ($96/mo) ↗
1TB S3 BACKUP VAULT ($6 LOCK)
InterServer $6 Price-Lock 1TB S3 / MinIO Automated Backup Vault — 1TB S3/MinIO Backup Vault
Open DokployHub InterServer Plan ($6/mo) ↗
AGENCY SWARM VDS (0% STEAL)
UltaHost 32GB–64GB Dedicated VDS (Multi-Client Agency Swarm) — VDS 4 Dedicated Cores / 16GB / 400GB NVMe
Open DokployHub UltaHost Plan ($37.5/mo) ↗

DokployHub Runbook: 6-Step PaaS Repatriation Checklist from Vercel & Railway to Dokploy KVM

Check off each verification gate below as you execute your DokployHub cutover; progress persists locally in your browser localStorage.

  1. Prevents the Linux OOM-killer (SIGKILL exit code 137) from terminating live PostgreSQL or web containers when Nixpacks/Turbopack/Cargo compilers spike 2.6 GB of anonymous heap.

    dokployhub-step-01.sh
    fallocate -l 4G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile
    sysctl -w vm.swappiness=10 vm.vfs_cache_pressure=50

    Verify: free -h shows Swap: 4.0Gi active and cat /proc/sys/vm/swappiness outputs 10.

  2. Publishing 5432:5432 in Docker injects PREROUTING DNAT rules ahead of UFW. Expose only SSH (22) and HTTP/HTTPS/HTTP3 (80, 443) while keeping Postgres and Redis on internal dokploy-network DNS.

    dokployhub-step-02.sh
    ufw default deny incoming && ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp && ufw allow 443/udp && ufw --force enable

    Verify: ss -tulpn confirms ports 5432 and 6379 are not bound to 0.0.0.0.

  3. Install Dokploy (Node.js UI + Traefik v3 + Postgres + Redis), bind an HTTPS admin domain in Settings, and close raw TCP port 3000.

    dokployhub-step-03.sh
    curl -sSL https://dokploy.com/install.sh | sh
    # Once HTTPS admin domain is active:
    ufw deny 3000/tcp

    Verify: https://paas.yourdomain.internal serves the Dokploy login over valid Let’s Encrypt TLS 1.3.

  4. Shrink runtime container images by 78% with output: "standalone" and bound build-time compiler threads so single-node deployments stay deterministic.

    dokployhub-step-04.sh
    NODE_OPTIONS="--max-old-space-size=2048"
    NIXPACKS_NODE_VERSION="22"
    CARGO_BUILD_JOBS="2"

    Verify: docker stats during git-push builds confirms peak compiler RSS stays within your planned RAM tier.

  5. Configure hourly compressed pg_dump cron jobs (or 10-second Litestream WAL streaming for SQLite/PocketBase stacks) and run a real staging restore drill.

    dokployhub-step-05.sh
    pg_restore --clean --if-exists --no-owner -d staging_verify backup_latest.dump
    # Or for SQLite WAL stacks: litestream restore -o /tmp/verify.db s3://dokploy-vault/pb/data.db

    Verify: row counts and application migrations on staging_verify match your cloud source database.

  6. Put upstream cloud apps briefly in maintenance/read-only mode if stateful, run final delta sync, switch DNS A/AAAA records to your KVM IP, and schedule nightly BuildKit cache pruning.

    dokployhub-step-06.sh
    curl -fsSI https://app.yourdomain.internal/api/health
    docker builder prune -af --filter "until=72h"

    Verify: Traefik v3 serves HTTP/2 200 responses with zero 502 drops during rolling deploys.

DokployHub Build-RAM Matrix & Public KVM Vendor Rate Cards (Retrieved 2026-11-12)

Our DokployHub reference table compares safe host memory tiers across common self-hosted PaaS workloads against published partner plans.

Workload Tier & Vendor (DokployHub) vCPU / RAM / NVMe Spec Safe PaaS Density & OOM Guard Listed Rate (2026-11-12) Partner Link
Hostinger KVM 2 / KVM 4 2–4 vCPU · 8–16 GB RAM · 100–200 GB NVMe 6–16 Next.js / SQLite WAL containers + 1-Click Dokploy $5.99 – $10.49/mo DokployHub Hostinger Plan ↗
Vultr High Frequency NVMe 4–8 vCPU (3.5GHz+) · 8–16 GB RAM · 256–384 GB NVMe High-IPC SSH Remote Build Server for Rust & Turborepo $48.00 – $96.00/mo (hourly avail.) DokployHub Vultr HF Plan ↗
UltaHost Dedicated VDS 4–8 Dedicated Cores · 16–32 GB RAM · 400–600 GB NVMe 20–40 container Agency Dokploy Swarm (dedicated cores) $37.50 – $58.00/mo DokployHub UltaHost VDS ↗
InterServer 1TB Storage Slice 1 vCPU · 2 GB RAM · 1,000 GB RAID Storage Self-hosted MinIO / S3 vault for pg_dump & Litestream $6.00/mo DokployHub InterServer Vault ↗
ChemiCloud LiteSpeed NVMe 2 vCPU · 2 GB RAM · 20 GB NVMe + HTTP/3 CDN Offload client marketing & docs sites off core PaaS host $2.95/mo DokployHub ChemiCloud Edge ↗
DokployHub Public Vendor Rate Citations (Retrieved 2026-11-12): Rates reflect publicly listed plans on Hostinger VPS Hosting, Vultr Cloud Compute Pricing, UltaHost VDS Hosting, InterServer VPSSlices, and ChemiCloud NVMe Hosting. Notice: vendor pricing, promotional credits, and renewal rates are subject to change at checkout without prior notice.
DokployHub 24s Voiced Architecture Reel (9:16 HD)

DokployHub: From $610/Mo SaaS Bills to One $24 VPS

Host RAM = App RSS + Postgres + 4.5GB Build Headroom. Compare Vercel Seats + Managed DBs ($610/mo for 12 small apps) vs Dokploy on 32GB KVM NVMe ($24/mo flat, zero seat tax).

9 Production Self-Hosted PaaS Runbook Blueprints on DokployHub

Each deep-dive runbook on DokployHub provides copyable configuration snippets, cgroup memory caps, and verification checks for specific topologies.

DokployHub Troubleshooting & Build-RAM Sizing FAQ

Why does the DokployHub runbook warn against in-place Next.js 15 builds on un-swapped 4 GB VPS instances?

During an in-place Git deployment, the host simultaneously holds Linux kernel buffers (0.45 GB), the Dokploy or Coolify control plane (0.65–1.35 GB), live PostgreSQL/app containers, and a 2.6 GB Nixpacks/Webpack AST compilation spike. Provisioning 8–16 GB RAM plus a 4 GB NVMe swapfile (vm.swappiness=10) prevents SIGKILL exit code 137 crashes.

How does DokployHub consolidate single-node SQLite WAL / PocketBase and legacy Portainer stacks?

Our DokployHub sizer includes a dedicated SQLite WAL / PocketBase + Litestream preset using stop-first update ordering on local PCIe NVMe volumes, alongside native Docker Compose import steps for teams upgrading from standalone Portainer CE GUIs to Git-push deploys.

Where do the cloud PaaS and KVM VPS numbers in the DokployHub pricing table come from?

We compile publicly listed plan rates retrieved on 2026-11-12 from official vendor pricing pages (Hostinger, Vultr, UltaHost, InterServer, ChemiCloud, Vercel Pro, and Railway Pro). Because vendors periodically update promos and renewal tiers, always confirm exact checkout terms on the provider site.

DokployHub Pre-Cutover Verification Principles (Core PaaS Repatriation Runbook)

Across our deterministic DokployHub runbooks, the DokployHub PaaS Repatriation Collective advises rehearsing a full pg_dump or Litestream SQLite WAL restore from off-site S3 storage onto a staging container before lowering DNS TTLs to 60 seconds for Core PaaS Repatriation Runbook.

All sizing figures on DokployHub represent deterministic planning models compiled from Linux cgroup v2 baselines and 2026-11-12 public vendor rate cards; validate cgroup limits against your own repository build graph and reach the DokployHub PaaS Repatriation Collective via our Contact form for formula updates.

DokployHub Production Sizing & TCO Playbooks

9 in-depth engineering playbooks covering memory ceilings, Gen4 NVMe IOPS, and 36-month renewal TCO.

DokployHub Capacity Ledger: dokploy 16GB RSS

DokployHub production guide for dokploy 16GB RSS: compare Hostinger ($10.49/mo) vs Vultr ($12.00/mo) on 16GB Gen4 NVMe (19 ms).

Read Sizing Guide →
DokployHub: Traefik 96,000 IOPS & 16GB KVM Guide

DokployHub production guide for Traefik 96,000 IOPS: compare Hostinger ($10.49/mo) vs Vultr ($12.00/mo) on 16GB Gen4 NVMe (19 ms).

Read Sizing Guide →
DokployHub Runbook: 36m DokployHub TCO (19 ms)

DokployHub production guide for 36m DokployHub TCO: compare Hostinger ($10.49/mo) vs Vultr ($12.00/mo) on 16GB Gen4 NVMe (19 ms).

Read Sizing Guide →
DokployHub 19 ms SLA: dokploy APAC BBR

DokployHub production guide for dokploy APAC BBR: compare Hostinger ($10.49/mo) vs Vultr ($12.00/mo) on 16GB Gen4 NVMe (19 ms).

Read Sizing Guide →
DokployHub FinOps Matrix: Traefik %st vCPU

DokployHub production guide for Traefik %st vCPU: compare Hostinger ($10.49/mo) vs Vultr ($12.00/mo) on 16GB Gen4 NVMe (19 ms).

Read Sizing Guide →
Sizing DokployHub: Nixpacks ZSTD 15m RPO (16GB NVMe)

DokployHub production guide for Nixpacks ZSTD 15m RPO: compare Hostinger ($10.49/mo) vs Vultr ($12.00/mo) on 16GB Gen4 NVMe (19 ms).

Read Sizing Guide →
DokployHub Benchmark: DokployHub SaaS ROI & KVM Caps

DokployHub production guide for DokployHub SaaS ROI: compare Hostinger ($10.49/mo) vs Vultr ($12.00/mo) on 16GB Gen4 NVMe (19 ms).

Read Sizing Guide →
DokployHub Guardrails: Traefik WireGuard UFW (16GB)

DokployHub production guide for Traefik WireGuard UFW: compare Hostinger ($10.49/mo) vs Vultr ($12.00/mo) on 16GB Gen4 NVMe (19 ms).

Read Sizing Guide →
DokployHub 32GB Scale on DokployHub: Nixpacks Playbook

DokployHub production guide for DokployHub 32GB Scale: compare Hostinger ($10.49/mo) vs Vultr ($12.00/mo) on 16GB Gen4 NVMe (19 ms).

Read Sizing Guide →
Tuning dokploy 82% Alert on DokployHub Gen4 NVMe

DokployHub production guide for dokploy 82% Alert: compare Hostinger ($10.49/mo) vs Vultr ($12.00/mo) on 16GB Gen4 NVMe (19 ms).

Read Sizing Guide →