{"id":43129,"date":"2026-08-12T13:29:42","date_gmt":"2026-08-12T06:29:42","guid":{"rendered":"https:\/\/interdata.vn\/blog\/?p=43129"},"modified":"2026-08-18T16:22:23","modified_gmt":"2026-08-18T09:22:23","slug":"cach-cai-coolify-tren-ubuntu","status":"publish","type":"post","link":"https:\/\/interdata.vn\/blog\/cach-cai-coolify-tren-ubuntu\/","title":{"rendered":"C\u00e1ch C\u00e0i Coolify Tr\u00ean Ubuntu &#8211; C\u00e1ch C\u00e0i Coolify Tr\u00ean VPS &#038; Cloud Server"},"content":{"rendered":"<p style=\"text-align: justify;\"><span style=\"font-size: 100%;\"><strong>C\u00e1ch c\u00e0i Coolify tr\u00ean Ubuntu<\/strong> l\u00e0 gi\u1ea3i ph\u00e1p t\u1ed1i \u01b0u gi\u00fap l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 nh\u00e0 ph\u00e1t tri\u1ec3n web t\u1ef1 x\u00e2y d\u1ef1ng n\u1ec1n t\u1ea3ng PaaS (Platform as a Service) m\u1ea1nh m\u1ebd nh\u01b0 Vercel hay Heroku ngay tr\u00ean h\u1ea1 t\u1ea7ng m\u00e1y ch\u1ee7 ri\u00eang. Thay v\u00ec ch\u1ecbu m\u1ee9c chi ph\u00ed SaaS \u0111\u1eaft \u0111\u1ecf khi \u1ee9ng d\u1ee5ng m\u1edf r\u1ed9ng t\u1ea3i, b\u1ea1n ho\u00e0n to\u00e0n c\u00f3 th\u1ec3 qu\u1ea3n l\u00fd container, deploy m\u00e3 ngu\u1ed3n t\u1ef1 \u0111\u1ed9ng t\u1eeb GitHub v\u00e0 c\u1ea5p ch\u1ee9ng ch\u1ec9 SSL Let&#8217;s Encrypt ch\u1ec9 v\u1edbi v\u00e0i thao t\u00e1c tr\u1ef1c quan. B\u00e0i vi\u1ebft n\u00e0y t\u1eeb \u0111\u1ed9i ng\u0169 k\u1ef9 thu\u1eadt <a href=\"\/\">InterData<\/a> s\u1ebd h\u01b0\u1edbng d\u1eabn b\u1ea1n chi ti\u1ebft t\u1eebng b\u01b0\u1edbc thi\u1ebft l\u1eadp m\u00f4i tr\u01b0\u1eddng v\u00e0 c\u00e0i \u0111\u1eb7t Coolify th\u00e0nh c\u00f4ng 100% tr\u00ean h\u1ec7 \u0111i\u1ec1u h\u00e0nh Ubuntu.<\/span><\/p>\n<div style=\"background-color: #eff6ff; padding: 20px; border: 1.5px solid #BFDBFE; border-radius: 12px; margin-bottom: 40px; box-shadow: 0 8px 20px rgba(37,99,235,0.05);\">\n<p style=\"font-family: 'Be Vietnam Pro', sans-serif; font-weight: bold; font-size: 18px; margin: 0 0 15px; color: #1e3a8a;\">N\u1ed8I DUNG B\u00c0I VI\u1ebeT<\/p>\n<ul style=\"list-style-type: none; padding-left: 0; margin: 0;\">\n<li style=\"margin-bottom: 10px;\"><a style=\"text-decoration: none; color: #2563eb; font-weight: bold;\" href=\"#section1\">1. Coolify l\u00e0 g\u00ec? V\u00ec sao n\u00ean t\u1ef1 host PaaS tr\u00ean VPS Ubuntu?<\/a><\/li>\n<li style=\"margin-bottom: 10px;\"><a style=\"text-decoration: none; color: #2563eb; font-weight: bold;\" href=\"#section2\">2. \u0110i\u1ec1u ki\u1ec7n ph\u1ea7n c\u1ee9ng &amp; y\u00eau c\u1ea7u h\u1ec7 th\u1ed1ng t\u1ed1i thi\u1ec3u \u0111\u1ec3 c\u00e0i Coolify<\/a><\/li>\n<li style=\"margin-bottom: 10px;\"><a style=\"text-decoration: none; color: #2563eb; font-weight: bold;\" href=\"#section3\">3. H\u01b0\u1edbng d\u1eabn c\u00e1ch c\u00e0i Coolify tr\u00ean Ubuntu t\u1eebng b\u01b0\u1edbc chi ti\u1ebft (A-Z)<\/a><\/li>\n<li style=\"margin-bottom: 10px;\"><a style=\"text-decoration: none; color: #2563eb; font-weight: bold;\" href=\"#section4\">4. H\u01b0\u1edbng d\u1eabn c\u1ea5u h\u00ecnh Domain v\u00e0 Reverse Proxy SSL Let&#8217;s Encrypt<\/a><\/li>\n<li style=\"margin-bottom: 10px;\"><a style=\"text-decoration: none; color: #2563eb; font-weight: bold;\" href=\"#section5\">5. C\u00e1ch deploy \u1ee9ng d\u1ee5ng \u0111\u1ea7u ti\u00ean v\u00e0 kh\u1edfi t\u1ea1o Database tr\u00ean Coolify<\/a><\/li>\n<li style=\"margin-bottom: 10px;\"><a style=\"text-decoration: none; color: #2563eb; font-weight: bold;\" href=\"#section6\">6. X\u1eed l\u00fd c\u00e1c l\u1ed7i th\u01b0\u1eddng g\u1eb7p khi c\u00e0i \u0111\u1eb7t v\u00e0 v\u1eadn h\u00e0nh Coolify tr\u00ean Ubuntu<\/a><\/li>\n<li style=\"margin-bottom: 10px;\"><a style=\"text-decoration: none; color: #2563eb; font-weight: bold;\" href=\"#section8\">7. C\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p (FAQ)<\/a><\/li>\n<\/ul>\n<\/div>\n\n\n<style>\n.interdata-plan-carousel,.interdata-plan-carousel *{box-sizing:border-box}\n.interdata-plan-carousel{--blue:#005bea;--blue-dark:#004dcc;--text:#071832;--muted:#516173;--border:#d8e6fb;--bg:#f3f8ff;--shadow:0 5px 14px rgba(0,62,145,.08);background:var(--bg);padding:14px 56px 18px;position:relative;overflow:hidden;border-radius:20px;}\n.interdata-carousel-heading{color:#f00;font-family:Roboto,sans-serif;font-size:18px;line-height:1.35;font-weight:800;text-align:center;margin:0 0 14px}\n.interdata-plan-viewport{overflow:hidden;width:100%}\n.interdata-plan-track{display:flex;align-items:stretch;gap:12px;overflow:visible;padding:0 0 4px;transform:translate3d(0,0,0);transition:transform .45s ease;will-change:transform;touch-action:pan-y}\n.interdata-plan-card{flex:0 0 calc((100% - 24px)\/3);min-width:0;min-height:0!important;height:auto;background:#fff;border:1px solid var(--border);border-radius:8px;padding:15px 12px 13px;display:flex;flex-direction:column;box-shadow:var(--shadow)}\n.interdata-plan-title{color:var(--blue-dark);font-size:16px;line-height:1.22;font-weight:800;text-align:center;margin:0 0 7px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.interdata-plan-price{color:var(--blue-dark);font-size:24px;line-height:1;font-weight:900;text-align:center;margin-bottom:12px;white-space:nowrap;letter-spacing:0}\n.interdata-plan-price span{font-size:10px;font-weight:800;margin-left:2px}\n.interdata-plan-badge{align-self:center;display:inline-flex;align-items:center;justify-content:center;background:#ff3934;color:#fff;border-radius:5px;padding:7px 8px;font-size:9px;line-height:1;font-weight:800;margin-bottom:15px;white-space:nowrap;max-width:100%}\n.interdata-plan-features{list-style:none!important;padding:0!important;margin:0!important}\n.interdata-plan-features li{display:flex;gap:7px;align-items:flex-start;color:var(--text);font-size:12px;line-height:1.35;font-weight:700;text-align:left;margin:0 0 10px!important;padding:0!important}\n.interdata-plan-icon{width:14px;min-width:14px;height:14px;color:#0069ff;margin-top:2px}\n.interdata-plan-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}\n.interdata-plan-spacer{flex:1;min-height:16px}\n.interdata-plan-button{display:flex;align-items:center;justify-content:center;min-height:42px;width:100%;margin-top:auto!important;margin-bottom:0!important;background:var(--blue);color:#fff!important;border-radius:5px;font-size:13px;font-weight:800;text-decoration:none!important;box-shadow:0 7px 14px rgba(0,91,234,.24);transition:transform .2s ease,background .2s ease}\n.interdata-plan-button:hover{background:var(--blue-dark);color:#fff!important;transform:translateY(-1px)}\n.interdata-carousel-arrow{position:absolute;top:50%;z-index:5;width:44px;height:54px;border:2px solid #fff!important;border-radius:999px;background:var(--blue)!important;color:#fff!important;box-shadow:0 8px 22px rgba(0,62,145,.32);display:flex!important;align-items:center;justify-content:center;cursor:pointer;transform:translateY(-35%);transition:background .2s ease,color .2s ease,opacity .2s ease,transform .2s ease}\n.interdata-carousel-arrow:hover{background:var(--blue-dark)!important;color:#fff!important;transform:translateY(-35%) scale(1.04)}\n.interdata-carousel-arrow:disabled{opacity:.78;cursor:not-allowed;background:#8aa6cf!important;color:#fff!important}\n.interdata-carousel-arrow:disabled:hover{background:#8aa6cf!important;color:#fff!important;transform:translateY(-35%)}\n.interdata-carousel-arrow svg{display:none!important}\n.interdata-carousel-arrow:before{content:none!important;display:none!important}\n.interdata-carousel-mark{display:block!important;color:#fff!important;font-family:Arial,Helvetica,sans-serif!important;font-size:38px!important;font-weight:900!important;line-height:1!important;text-align:center!important;pointer-events:none!important;transform:translateY(-2px)}\n.interdata-carousel-prev{left:14px}\n.interdata-carousel-prev .interdata-carousel-mark{margin-left:-2px}\n.interdata-carousel-next{right:14px}\n.interdata-carousel-next .interdata-carousel-mark{margin-right:-2px}\n@media (max-width:800px){.interdata-plan-carousel{padding:12px 44px 16px}.interdata-plan-card{flex-basis:calc((100% - 12px)\/2)}.interdata-carousel-heading{font-size:16px}.interdata-carousel-prev{left:6px}.interdata-carousel-next{right:6px}}\n@media (max-width:480px){.interdata-plan-carousel{padding:12px 38px 16px}.interdata-plan-card{flex-basis:100%}.interdata-plan-price{font-size:23px}.interdata-carousel-arrow{width:34px;height:44px}.interdata-carousel-mark{font-size:32px!important}.interdata-carousel-prev{left:3px}.interdata-carousel-next{right:3px}}\n<\/style>\n\n<div class=\"interdata-plan-carousel\" data-interdata-carousel>\n  <div class=\"interdata-carousel-heading\">Si\u00eau \u01afu \u0110\u00e3i VPS \/ CLOUD SERVER - Ti\u1ebft Ki\u1ec7m \u0110\u1ebfn 70%<\/div>\n\n  <svg width=\"0\" height=\"0\" style=\"position:absolute;visibility:hidden\" aria-hidden=\"true\">\n    <symbol id=\"id-icon-cpu\" viewBox=\"0 0 24 24\"><rect x=\"7\" y=\"7\" width=\"10\" height=\"10\" rx=\"2\"><\/rect><path d=\"M4 9h3M4 15h3M17 9h3M17 15h3M9 4v3M15 4v3M9 17v3M15 17v3\"><\/path><path d=\"M10 10h4v4h-4z\"><\/path><\/symbol>\n    <symbol id=\"id-icon-ram\" viewBox=\"0 0 24 24\"><rect x=\"4\" y=\"8\" width=\"16\" height=\"8\" rx=\"2\"><\/rect><path d=\"M7 16v2M11 16v2M15 16v2M19 16v2M7 11h1M11 11h1M15 11h1\"><\/path><\/symbol>\n    <symbol id=\"id-icon-storage\" viewBox=\"0 0 24 24\"><rect x=\"6\" y=\"3\" width=\"12\" height=\"18\" rx=\"2\"><\/rect><path d=\"M9 7h6\"><\/path><circle cx=\"12\" cy=\"16\" r=\"1.5\"><\/circle><\/symbol>\n    <symbol id=\"id-icon-network\" viewBox=\"0 0 24 24\"><path d=\"M5 12.5a10 10 0 0 1 14 0\"><\/path><path d=\"M8.5 16a5 5 0 0 1 7 0\"><\/path><path d=\"M12 19h.01\"><\/path><\/symbol>\n    <symbol id=\"id-icon-gift\" viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"8\" width=\"18\" height=\"13\" rx=\"2\"><\/rect><path d=\"M12 8v13M3 12h18\"><\/path><path d=\"M7.5 8C6.1 8 5 6.9 5 5.5S6.1 3 7.5 3C10 3 12 8 12 8\"><\/path><path d=\"M16.5 8C17.9 8 19 6.9 19 5.5S17.9 3 16.5 3C14 3 12 8 12 8\"><\/path><\/symbol>\n  <\/svg>\n\n  <button class=\"interdata-carousel-arrow interdata-carousel-prev\" type=\"button\" aria-label=\"Xem 3 g\u00f3i tr\u01b0\u1edbc\" onclick=\"var r=this.closest('[data-interdata-carousel]');if(!r)return false;var t=r.querySelector('.interdata-plan-track'),c=t?t.querySelectorAll('.interdata-plan-card'):[];if(!t||!c.length)return false;var v=window.matchMedia('(max-width:480px)').matches?1:(window.matchMedia('(max-width:800px)').matches?2:3),m=Math.max(0,c.length-Math.min(v,c.length||1)),s=[],i=0;while(i&lt;m){s.push(i);i+=v}if(!s.length||s[s.length-1]!==m)s.push(m);var p=parseInt(r.getAttribute('data-inline-page')||'0',10);p=(p-1+s.length)%s.length;r.setAttribute('data-inline-page',p);var g=parseFloat(window.getComputedStyle(t).gap)||12,w=c[0].getBoundingClientRect().width;t.style.transition='transform .45s ease';t.style.transform='translate3d('+(-(w+g)*s[p])+'px,0,0)';return false;\">\n    <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M15 18l-6-6 6-6\"><\/path><\/svg>\n    <span class=\"interdata-carousel-mark\" aria-hidden=\"true\">&#8249;<\/span>\n  <\/button>\n\n  <div class=\"interdata-plan-viewport\">\n    <div class=\"interdata-plan-track\">\n      <!-- 7 card d\u1ef1 ph\u00f2ng: JavaScript s\u1ebd \u0111\u1ed3ng b\u1ed9 l\u1ea1i t\u1eeb API portal khi trang t\u1ea3i. -->\n      <article class=\"interdata-plan-card\" data-plan-pid=\"490\">\n        <h3 class=\"interdata-plan-title\">Premium Base<\/h3>\n        <div class=\"interdata-plan-price\">299.000 \u0111<span>\/3 th\u00e1ng<\/span><\/div>\n        <div class=\"interdata-plan-badge\">GIA H\u1ea0N KH\u00d4NG \u0110\u1ed4I GI\u00c1<\/div>\n        <ul class=\"interdata-plan-features\">\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-cpu\"><\/use><\/svg><\/span>2 vCore Intel Xeon Scalable<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-ram\"><\/use><\/svg><\/span>2 GB RAM<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-storage\"><\/use><\/svg><\/span>30 GB SSD NVMe<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-network\"><\/use><\/svg><\/span>1 IPv4 Private<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-network\"><\/use><\/svg><\/span>300Mbps Network Port<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-network\"><\/use><\/svg><\/span>Unlimited Bandwidth<\/li>\n        <\/ul>\n\n        <a class=\"interdata-plan-button\" href=\"https:\/\/support.interdata.vn\/index.php?rp=\/store\/best-value-plans-2026\/best-value-plans-premium-base\" target=\"_blank\" rel=\"noopener\">\u0110\u0103ng k\u00fd ngay<\/a>\n      <\/article>\n\n      <article class=\"interdata-plan-card\" data-plan-pid=\"529\">\n        <h3 class=\"interdata-plan-title\">INTER PLATINUM 1<\/h3>\n        <div class=\"interdata-plan-price\">998.000 \u0111<span>\/n\u0103m<\/span><\/div>\n        <div class=\"interdata-plan-badge\">GIA H\u1ea0N KH\u00d4NG \u0110\u1ed4I GI\u00c1<\/div>\n        <ul class=\"interdata-plan-features\">\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-cpu\"><\/use><\/svg><\/span>2 vCore<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-ram\"><\/use><\/svg><\/span>3 GB RAM<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-storage\"><\/use><\/svg><\/span>30 GB SSD NVMe<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-network\"><\/use><\/svg><\/span>1 IPv4 Private<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-network\"><\/use><\/svg><\/span>300Mbps Network Port<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-network\"><\/use><\/svg><\/span>Unlimited Bandwidth<\/li>\n        <\/ul>\n\n        <a class=\"interdata-plan-button\" href=\"https:\/\/support.interdata.vn\/index.php?rp=\/store\/inter-platinum-series-2026\/inter-platinum-1\" target=\"_blank\" rel=\"noopener\">\u0110\u0103ng k\u00fd ngay<\/a>\n      <\/article>\n\n      <article class=\"interdata-plan-card\" data-plan-pid=\"530\">\n        <h3 class=\"interdata-plan-title\">INTER PLATINUM 2<\/h3>\n        <div class=\"interdata-plan-price\">2.666.000 \u0111<span>\/n\u0103m<\/span><\/div>\n        <div class=\"interdata-plan-badge\">GIA H\u1ea0N KH\u00d4NG \u0110\u1ed4I GI\u00c1<\/div>\n        <ul class=\"interdata-plan-features\">\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-cpu\"><\/use><\/svg><\/span>5 vCore<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-ram\"><\/use><\/svg><\/span>8 GB RAM<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-storage\"><\/use><\/svg><\/span>70 GB SSD NVMe<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-network\"><\/use><\/svg><\/span>1 IPv4 Private<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-network\"><\/use><\/svg><\/span>300Mbps Network Port<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-network\"><\/use><\/svg><\/span>Unlimited Bandwidth<\/li>\n        <\/ul>\n\n        <a class=\"interdata-plan-button\" href=\"https:\/\/support.interdata.vn\/index.php?rp=\/store\/inter-platinum-series-2026\/inter-platinum-2\" target=\"_blank\" rel=\"noopener\">\u0110\u0103ng k\u00fd ngay<\/a>\n      <\/article>\n\n      <article class=\"interdata-plan-card\" data-plan-pid=\"531\">\n        <h3 class=\"interdata-plan-title\">INTER PLATINUM 3<\/h3>\n        <div class=\"interdata-plan-price\">5.888.000 \u0111<span>\/n\u0103m<\/span><\/div>\n        <div class=\"interdata-plan-badge\">GIA H\u1ea0N KH\u00d4NG \u0110\u1ed4I GI\u00c1<\/div>\n        <ul class=\"interdata-plan-features\">\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-cpu\"><\/use><\/svg><\/span>9 vCore<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-ram\"><\/use><\/svg><\/span>16 GB RAM<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-storage\"><\/use><\/svg><\/span>140 GB SSD NVMe<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-network\"><\/use><\/svg><\/span>1 IPv4 Private<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-network\"><\/use><\/svg><\/span>300Mbps Network Port<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-network\"><\/use><\/svg><\/span>Unlimited Bandwidth<\/li>\n        <\/ul>\n\n        <a class=\"interdata-plan-button\" href=\"https:\/\/support.interdata.vn\/index.php?rp=\/store\/inter-platinum-series-2026\/inter-platinum-3\" target=\"_blank\" rel=\"noopener\">\u0110\u0103ng k\u00fd ngay<\/a>\n      <\/article>\n\n      <article class=\"interdata-plan-card\" data-plan-pid=\"521\">\n        <h3 class=\"interdata-plan-title\">BD-Cloud 1<\/h3>\n        <div class=\"interdata-plan-price\">988.000 \u0111<span>\/n\u0103m<\/span><\/div>\n        <div class=\"interdata-plan-badge\">GIA H\u1ea0N KH\u00d4NG \u0110\u1ed4I GI\u00c1<\/div>\n        <ul class=\"interdata-plan-features\">\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-cpu\"><\/use><\/svg><\/span>3 vCore<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-ram\"><\/use><\/svg><\/span>3 GB RAM<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-storage\"><\/use><\/svg><\/span>30 GB SSD NVMe<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-network\"><\/use><\/svg><\/span>1 IPv4 Private<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-network\"><\/use><\/svg><\/span>300Mbps Network Port<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-network\"><\/use><\/svg><\/span>Unlimited Bandwidth<\/li>\n        <\/ul>\n\n        <a class=\"interdata-plan-button\" href=\"https:\/\/support.interdata.vn\/index.php?rp=\/store\/best-plan-real-cloud\/bd-cloud-1\" target=\"_blank\" rel=\"noopener\">\u0110\u0103ng k\u00fd ngay<\/a>\n      <\/article>\n\n      <article class=\"interdata-plan-card\" data-plan-pid=\"522\">\n        <h3 class=\"interdata-plan-title\">BD-Cloud 2<\/h3>\n        <div class=\"interdata-plan-price\">2.988.000 \u0111<span>\/n\u0103m<\/span><\/div>\n        <div class=\"interdata-plan-badge\">GIA H\u1ea0N KH\u00d4NG \u0110\u1ed4I GI\u00c1<\/div>\n        <ul class=\"interdata-plan-features\">\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-cpu\"><\/use><\/svg><\/span>4 vCore<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-ram\"><\/use><\/svg><\/span>8 GB RAM<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-storage\"><\/use><\/svg><\/span>80 GB SSD NVMe<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-network\"><\/use><\/svg><\/span>1 IPv4 Private<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-network\"><\/use><\/svg><\/span>300 Mbps Network Port<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-network\"><\/use><\/svg><\/span>Unlimited Bandwidth<\/li>\n        <\/ul>\n\n        <a class=\"interdata-plan-button\" href=\"https:\/\/support.interdata.vn\/index.php?rp=\/store\/best-plan-real-cloud\/bd-cloud-2\" target=\"_blank\" rel=\"noopener\">\u0110\u0103ng k\u00fd ngay<\/a>\n      <\/article>\n\n      <article class=\"interdata-plan-card\" data-plan-pid=\"523\">\n        <h3 class=\"interdata-plan-title\">BD-Cloud 3<\/h3>\n        <div class=\"interdata-plan-price\">5.999.000 \u0111<span>\/n\u0103m<\/span><\/div>\n        <div class=\"interdata-plan-badge\">GIA H\u1ea0N KH\u00d4NG \u0110\u1ed4I GI\u00c1<\/div>\n        <ul class=\"interdata-plan-features\">\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-cpu\"><\/use><\/svg><\/span>8 vCore<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-ram\"><\/use><\/svg><\/span>16 GB RAM<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-storage\"><\/use><\/svg><\/span>140 GB SSD NVMe<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-network\"><\/use><\/svg><\/span>1 IPv4 Private<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-network\"><\/use><\/svg><\/span>400 Mbps Network Port<\/li>\n          <li><span class=\"interdata-plan-icon\"><svg><use href=\"#id-icon-network\"><\/use><\/svg><\/span>Unlimited Bandwidth<\/li>\n        <\/ul>\n\n        <a class=\"interdata-plan-button\" href=\"https:\/\/support.interdata.vn\/index.php?rp=\/store\/best-plan-real-cloud\/bd-cloud-3\" target=\"_blank\" rel=\"noopener\">\u0110\u0103ng k\u00fd ngay<\/a>\n      <\/article>\n    <\/div>\n  <\/div>\n\n  <button class=\"interdata-carousel-arrow interdata-carousel-next\" type=\"button\" aria-label=\"Xem 3 g\u00f3i ti\u1ebfp theo\" onclick=\"var r=this.closest('[data-interdata-carousel]');if(!r)return false;var t=r.querySelector('.interdata-plan-track'),c=t?t.querySelectorAll('.interdata-plan-card'):[];if(!t||!c.length)return false;var v=window.matchMedia('(max-width:480px)').matches?1:(window.matchMedia('(max-width:800px)').matches?2:3),m=Math.max(0,c.length-Math.min(v,c.length||1)),s=[],i=0;while(i&lt;m){s.push(i);i+=v}if(!s.length||s[s.length-1]!==m)s.push(m);var p=parseInt(r.getAttribute('data-inline-page')||'0',10);p=(p+1)%s.length;r.setAttribute('data-inline-page',p);var g=parseFloat(window.getComputedStyle(t).gap)||12,w=c[0].getBoundingClientRect().width;t.style.transition='transform .45s ease';t.style.transform='translate3d('+(-(w+g)*s[p])+'px,0,0)';return false;\">\n    <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 18l6-6-6-6\"><\/path><\/svg>\n    <span class=\"interdata-carousel-mark\" aria-hidden=\"true\">&#8250;<\/span>\n  <\/button>\n<\/div>\n\n<script>\n(function(){\n  var API_GROUPS=[\n    {url:'https:\/\/support.interdata.vn\/packages.php?gid=89&module',pids:[490]},\n    {url:'https:\/\/support.interdata.vn\/packages.php?gid=100&module',pids:[529,530,531]},\n    {url:'https:\/\/support.interdata.vn\/packages.php?gid=97&module',pids:[521,522,523]}\n  ];\n  var PLAN_CYCLES={\n    490:{key:'quarterly',label:'3 th\u00e1ng'},\n    529:{key:'annually',label:'n\u0103m'},\n    530:{key:'annually',label:'n\u0103m'},\n    531:{key:'annually',label:'n\u0103m'},\n    521:{key:'annually',label:'n\u0103m'},\n    522:{key:'annually',label:'n\u0103m'},\n    523:{key:'annually',label:'n\u0103m'}\n  };\n\n  function fetchPlanData(){\n    if(window.interdataPlanApiPromise)return window.interdataPlanApiPromise;\n\n    window.interdataPlanApiPromise=Promise.all(API_GROUPS.map(function(group){\n      return fetch(group.url,{method:'GET',mode:'cors',cache:'no-store'})\n        .then(function(response){\n          if(!response.ok)throw new Error('API '+response.status);\n          return response.json();\n        })\n        .then(function(data){\n          if(!data||data.success!==true||!Array.isArray(data.products))return [];\n          return data.products.filter(function(product){\n            return group.pids.indexOf(Number(product.pid))!==-1;\n          });\n        })\n        .catch(function(error){\n          console.warn('Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt nh\u00f3m g\u00f3i InterData:',group.url,error);\n          return [];\n        });\n    })).then(function(groups){\n      return groups.reduce(function(all,products){return all.concat(products);},[]);\n    });\n\n    return window.interdataPlanApiPromise;\n  }\n\n  function parseDescription(html){\n    var source=String(html||'')\n      .replace(\/<brs*\/?>\/gi,'n')\n      .replace(\/<\/(p|div|li)>\/gi,'n');\n    var holder=document.createElement('div');\n    holder.innerHTML=source;\n    var strong=holder.querySelector('strong');\n    var badge=strong?strong.textContent.trim():'';\n    var lines=(holder.textContent||'').split(\/r?n\/).map(function(line){\n      return line.trim();\n    }).filter(Boolean);\n    if(badge&&lines[0]===badge)lines.shift();\n    return {badge:badge,features:lines};\n  }\n\n  function iconForFeature(feature){\n    if(\/ram\/i.test(feature))return 'id-icon-ram';\n    if(\/ssd|nvme|storage|disk\/i.test(feature))return 'id-icon-storage';\n    if(\/vcore|vcpu|cpu|xeon|amd\/i.test(feature))return 'id-icon-cpu';\n    if(\/ipv4|network|mbps|gbps|bandwidth\/i.test(feature))return 'id-icon-network';\n    return 'id-icon-gift';\n  }\n\n  function createFeatureItem(feature){\n    var item=document.createElement('li');\n    var icon=document.createElement('span');\n    var svg=document.createElementNS('http:\/\/www.w3.org\/2000\/svg','svg');\n    var use=document.createElementNS('http:\/\/www.w3.org\/2000\/svg','use');\n    icon.className='interdata-plan-icon';\n    use.setAttribute('href','#'+iconForFeature(feature));\n    svg.appendChild(use);\n    icon.appendChild(svg);\n    item.appendChild(icon);\n    item.appendChild(document.createTextNode(feature));\n    return item;\n  }\n\n  function updateCardFromApi(root,product){\n    var pid=Number(product.pid);\n    var cycle=PLAN_CYCLES[pid];\n    var card=root.querySelector('[data-plan-pid=\"'+pid+'\"]');\n    if(!card||!cycle)return;\n\n    var title=card.querySelector('.interdata-plan-title');\n    var priceBox=card.querySelector('.interdata-plan-price');\n    var badgeBox=card.querySelector('.interdata-plan-badge');\n    var featureList=card.querySelector('.interdata-plan-features');\n    var button=card.querySelector('.interdata-plan-button');\n    var description=parseDescription(product.description);\n    var pricing=product.pricing&&product.pricing.VND;\n    var price=pricing?Number(pricing[cycle.key]):-1;\n\n    if(title&&product.name)title.textContent=product.name;\n    if(priceBox&&Number.isFinite(price)&&price>=0){\n      priceBox.textContent=Math.round(price).toLocaleString('vi-VN')+' \u0111';\n      var suffix=document.createElement('span');\n      suffix.textContent='\/'+cycle.label;\n      priceBox.appendChild(suffix);\n    }\n    if(badgeBox&&description.badge)badgeBox.textContent=description.badge;\n    if(featureList&&description.features.length){\n      featureList.textContent='';\n      description.features.forEach(function(feature){\n        featureList.appendChild(createFeatureItem(feature));\n      });\n    }\n    if(button&&product.product_url)button.href=product.product_url;\n  }\n\n  function setupInterDataCarousel(root){\n    var track=root.querySelector('.interdata-plan-track');\n    var prev=root.querySelector('.interdata-carousel-prev');\n    var next=root.querySelector('.interdata-carousel-next');\n    if(!track||!prev||!next||track.dataset.ready==='1')return;\n    track.dataset.ready='1';\n    prev.disabled=false;\n    next.disabled=false;\n    var activePage=0;\n    var touchStartX=null;\n\n    function visibleCards(){\n      if(window.matchMedia&&window.matchMedia('(max-width:480px)').matches)return 1;\n      if(window.matchMedia&&window.matchMedia('(max-width:800px)').matches)return 2;\n      return 3;\n    }\n\n    function pageStarts(){\n      var total=track.querySelectorAll('.interdata-plan-card').length;\n      var visible=Math.min(visibleCards(),total||1);\n      var maxStart=Math.max(0,total-visible);\n      var starts=[];\n      var start=0;\n      while(start<maxStart){\n        starts.push(start);\n        start+=visible;\n      }\n      if(!starts.length||starts[starts.length-1]!==maxStart)starts.push(maxStart);\n      return starts;\n    }\n\n    function renderSlide(animate){\n      var cards=track.querySelectorAll('.interdata-plan-card');\n      var starts=pageStarts();\n      if(!cards.length||!starts.length)return;\n      if(activePage>=starts.length)activePage=starts.length-1;\n      if(activePage<0)activePage=0;\n\n      var cardWidth=cards[0].getBoundingClientRect().width;\n      var trackStyle=window.getComputedStyle?window.getComputedStyle(track):null;\n      var gap=trackStyle?parseFloat(trackStyle.columnGap||trackStyle.gap):12;\n      if(!Number.isFinite(gap))gap=12;\n      if(cardWidth<=0)return;\n\n      track.style.transition=animate?'transform .45s ease':'none';\n      track.style.transform='translate3d('+(-(cardWidth+gap)*starts[activePage])+'px,0,0)';\n      prev.setAttribute('aria-disabled',starts.length>1?'false':'true');\n      next.setAttribute('aria-disabled',starts.length>1?'false':'true');\n    }\n\n    function move(direction){\n      var starts=pageStarts();\n      if(starts.length<=1)return;\n      activePage=parseInt(root.getAttribute('data-inline-page')||activePage,10)||0;\n      activePage=(activePage+direction+starts.length)%starts.length;\n      root.setAttribute('data-inline-page',activePage);\n      renderSlide(true);\n    }\n\n    track.addEventListener('touchstart',function(event){\n      touchStartX=event.touches&&event.touches[0]?event.touches[0].clientX:null;\n    },{passive:true});\n    track.addEventListener('touchend',function(event){\n      if(touchStartX===null)return;\n      var endX=event.changedTouches&&event.changedTouches[0]?event.changedTouches[0].clientX:touchStartX;\n      var distance=endX-touchStartX;\n      touchStartX=null;\n      if(Math.abs(distance)>=40)move(distance<0?1:-1);\n    },{passive:true});\n\n    function resetAfterResize(){\n      activePage=0;\n      root.setAttribute('data-inline-page','0');\n      renderSlide(false);\n    }\n\n    window.addEventListener('resize',resetAfterResize);\n    window.addEventListener('load',resetAfterResize);\n    if('ResizeObserver' in window){\n      var resizeObserver=new ResizeObserver(function(){renderSlide(false);});\n      resizeObserver.observe(root);\n    }\n    window.requestAnimationFrame(function(){renderSlide(false);});\n    window.setTimeout(function(){renderSlide(false);},250);\n    window.setTimeout(function(){renderSlide(false);},1000);\n\n    fetchPlanData().then(function(products){\n      products.forEach(function(product){updateCardFromApi(root,product);});\n      renderSlide(false);\n    });\n  }\n\n  function initInterDataCarousels(){\n    document.querySelectorAll('[data-interdata-carousel]').forEach(setupInterDataCarousel);\n  }\n\n  if(document.readyState==='loading'){\n    document.addEventListener('DOMContentLoaded',initInterDataCarousels);\n  }else{\n    initInterDataCarousels();\n  }\n\n  if('MutationObserver' in window){\n    var initQueued=false;\n    new MutationObserver(function(){\n      if(initQueued)return;\n      initQueued=true;\n      window.requestAnimationFrame(function(){\n        initQueued=false;\n        initInterDataCarousels();\n      });\n    }).observe(document.documentElement,{childList:true,subtree:true});\n  }\n})();\n<\/script>\n\n\t<div id=\"gap-227813377\" class=\"gap-element clearfix\" style=\"display:block; height:auto;\">\n\t\t\n<style>\n#gap-227813377 {\n  padding-top: 15px;\n}\n<\/style>\n\t<\/div>\n\t\n<h2 id=\"section1\" style=\"color: #1e3a8a; font-size: 24px; font-weight: bold; text-align: left; border-left: 5px solid #2563EB; padding-left: 15px; margin: 40px 0 20px; line-height: 1.4;\">1. Coolify l\u00e0 g\u00ec? V\u00ec sao n\u00ean t\u1ef1 host PaaS tr\u00ean VPS Ubuntu?<\/h2>\n<p style=\"text-align: justify;\"><strong>Coolify<\/strong> l\u00e0 m\u1ed9t n\u1ec1n t\u1ea3ng PaaS (Platform as a Service) m\u00e3 ngu\u1ed3n m\u1edf, self-hosted (t\u1ef1 l\u01b0u tr\u1eef) \u0111\u01b0\u1ee3c m\u1ec7nh danh l\u00e0 gi\u1ea3i ph\u00e1p thay th\u1ebf Vercel, Netlify v\u00e0 Heroku to\u00e0n di\u1ec7n nh\u1ea5t hi\u1ec7n nay. Coolify cho ph\u00e9p b\u1ea1n deploy \u1ee9ng d\u1ee5ng, database v\u00e0 c\u00e1c d\u1ecbch v\u1ee5 ph\u1ee9c h\u1ee3p l\u00ean ch\u00ednh m\u00e1y ch\u1ee7 c\u00e1 nh\u00e2n m\u00e0 kh\u00f4ng b\u1ecb gi\u1edbi h\u1ea1n s\u1ed1 l\u01b0\u1ee3ng project hay tr\u1ea3 ph\u00ed subscription \u0111\u1ecbnh k\u1ef3.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-43175\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Coolify-Dashboard.png\" alt=\"Coolify Dashboard\" width=\"700\" height=\"339\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Coolify-Dashboard.png 1904w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Coolify-Dashboard-300x145.png 300w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Coolify-Dashboard-1024x495.png 1024w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Coolify-Dashboard-768x371.png 768w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Coolify-Dashboard-1536x743.png 1536w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n<p style=\"text-align: justify;\">V\u1ec1 b\u1ea3n ch\u1ea5t v\u1eadn h\u00e0nh, Coolify ho\u1ea1t \u0111\u1ed9ng tr\u1ef1c ti\u1ebfp tr\u00ean n\u1ec1n t\u1ea3ng \u1ea3o h\u00f3a container, t\u1eadn d\u1ee5ng t\u1ed1i \u0111a s\u1ee9c m\u1ea1nh c\u1ee7a <a href=\"https:\/\/interdata.vn\/blog\/docker-la-gi\/\">n\u1ec1n t\u1ea3ng container Docker<\/a> v\u00e0 Traefik Proxy \u0111\u1ec3 \u0111\u00f3ng g\u00f3i v\u00e0 \u0111\u1ecbnh tuy\u1ebfn \u1ee9ng d\u1ee5ng. Khi k\u1ebft h\u1ee3p c\u00f9ng <a href=\"https:\/\/interdata.vn\/blog\/ubuntu-server-la-gi\/\">h\u1ec7 \u0111i\u1ec1u h\u00e0nh Ubuntu Server<\/a>, b\u1ea1n s\u1ebd s\u1edf h\u1eefu m\u1ed9t h\u1ec7 sinh th\u00e1i tri\u1ec3n khai t\u1ef1 \u0111\u1ed9ng v\u1edbi c\u00e1c \u01b0u \u0111i\u1ec3m v\u01b0\u1ee3t tr\u1ed9i:<\/p>\n<ul>\n<li><strong>Ti\u1ebft ki\u1ec7m chi ph\u00ed v\u01b0\u1ee3t b\u1eadc:<\/strong> Thay v\u00ec chi tr\u1ea3 h\u00e0ng tr\u0103m USD m\u1ed7i th\u00e1ng cho c\u00e1c n\u1ec1n t\u1ea3ng PaaS th\u01b0\u01a1ng m\u1ea1i khi ch\u1ea1m ng\u01b0\u1ee1ng gi\u1edbi h\u1ea1n b\u0103ng th\u00f4ng hay s\u1ed1 l\u01b0\u1ee3ng build, b\u1ea1n ch\u1ec9 c\u1ea7n \u0111\u1ea7u t\u01b0 m\u1ed9t g\u00f3i <a href=\"https:\/\/interdata.vn\/blog\/vps-la-gi\/\">m\u00e1y ch\u1ee7 \u1ea3o VPS<\/a> c\u1ea5u h\u00ecnh ti\u00eau chu\u1ea9n l\u00e0 c\u00f3 th\u1ec3 ch\u1ea1y h\u00e0ng ch\u1ee5c d\u1ef1 \u00e1n \u0111\u1ed3ng th\u1eddi.<\/li>\n<li><strong>To\u00e0n quy\u1ec1n l\u00e0m ch\u1ee7 d\u1eef li\u1ec7u (Data Sovereignty):<\/strong> M\u00e3 ngu\u1ed3n, bi\u1ebfn m\u00f4i tr\u01b0\u1eddng (Environment Variables) v\u00e0 c\u01a1 s\u1edf d\u1eef li\u1ec7u \u0111\u1ec1u \u0111\u01b0\u1ee3c l\u01b0u c\u1ee5c b\u1ed9 tr\u00ean m\u00e1y ch\u1ee7 c\u1ee7a b\u1ea1n, kh\u00f4ng lo r\u00f2 r\u1ec9 hay ph\u1ee5 thu\u1ed9c ch\u00ednh s\u00e1ch c\u1ee7a b\u00ean th\u1ee9 ba.<\/li>\n<li><strong>T\u1ef1 \u0111\u1ed9ng h\u00f3a CI\/CD th\u00f4ng minh:<\/strong> T\u00edch h\u1ee3p s\u00e2u v\u1edbi GitHub, GitLab, Bitbucket th\u00f4ng qua Webhook. M\u1ed7i khi b\u1ea1n <code>git push<\/code> nh\u00e1nh m\u00e3 ngu\u1ed3n m\u1edbi, Coolify s\u1ebd t\u1ef1 \u0111\u1ed9ng k\u00edch ho\u1ea1t ti\u1ebfn tr\u00ecnh build Docker image v\u00e0 c\u1eadp nh\u1eadt phi\u00ean b\u1ea3n live m\u00e0 kh\u00f4ng g\u00e2y gi\u00e1n \u0111o\u1ea1n (Zero-downtime deployment).<\/li>\n<li><strong>H\u1ed7 tr\u1ee3 \u0111a d\u1ea1ng ng\u0103n x\u1ebfp c\u00f4ng ngh\u1ec7:<\/strong> H\u1ed7 tr\u1ee3 tri\u1ec3n khai 1-click cho Next.js, Node.js, Python, PHP, Ruby, Go, Rust, Rust, WordPress c\u0169ng nh\u01b0 c\u00e1c h\u1ec7 qu\u1ea3n tr\u1ecb d\u1eef li\u1ec7u th\u00f4ng d\u1ee5ng nh\u01b0 PostgreSQL, MySQL, Redis, MongoDB.<\/li>\n<\/ul>\n<h2 id=\"section2\" style=\"color: #1e3a8a; font-size: 24px; font-weight: bold; text-align: left; border-left: 5px solid #2563EB; padding-left: 15px; margin: 40px 0 20px; line-height: 1.4;\">2. Y\u00eau c\u1ea7u h\u1ec7 th\u1ed1ng t\u1ed1i thi\u1ec3u \u0111\u1ec3 c\u00e0i Coolify<\/h2>\n<p style=\"text-align: justify;\">\u0110\u1ec3 qu\u00e1 tr\u00ecnh c\u00e0i \u0111\u1eb7t Coolify tr\u00ean Ubuntu di\u1ec5n ra m\u01b0\u1ee3t m\u00e0 v\u00e0 kh\u00f4ng g\u1eb7p t\u00ecnh tr\u1ea1ng treo h\u1ec7 th\u1ed1ng do thi\u1ebfu h\u1ee5t t\u00e0i nguy\u00ean (OOM &#8211; Out of Memory), m\u00e1y ch\u1ee7 c\u1ee7a b\u1ea1n c\u1ea7n \u0111\u00e1p \u1ee9ng c\u00e1c ti\u00eau chu\u1ea9n k\u1ef9 thu\u1eadt sau \u0111\u00e2y theo khuy\u1ebfn ngh\u1ecb ch\u00ednh th\u1ee9c t\u1eeb Coolify Docs:<\/p>\n<table style=\"width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 15px;\">\n<thead>\n<tr style=\"background-color: #1e3a8a; color: #ffffff; text-align: left;\">\n<th style=\"padding: 12px 15px; border: 1px solid #BFDBFE;\">Th\u00f4ng s\u1ed1 ph\u1ea7n c\u1ee9ng<\/th>\n<th style=\"padding: 12px 15px; border: 1px solid #BFDBFE;\">C\u1ea5u h\u00ecnh t\u1ed1i thi\u1ec3u<\/th>\n<th style=\"padding: 12px 15px; border: 1px solid #BFDBFE;\">C\u1ea5u h\u00ecnh khuy\u1ebfn ngh\u1ecb (Production)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"background-color: #f8fafc;\">\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0; font-weight: bold;\">H\u1ec7 \u0111i\u1ec1u h\u00e0nh (OS)<\/td>\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0;\">Ubuntu 22.04 LTS \/ 24.04 LTS (B\u1ea3n s\u1ea1ch &#8211; Fresh OS)<\/td>\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0;\">Ubuntu 24.04 LTS x86_64 \/ ARM64<\/td>\n<\/tr>\n<tr style=\"background-color: #ffffff;\">\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0; font-weight: bold;\">B\u1ed9 vi x\u1eed l\u00fd (CPU)<\/td>\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0;\">2 vCPU Cores<\/td>\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0;\">4 vCPU tr\u1edf l\u00ean (Ph\u1ee5c v\u1ee5 build Docker song song)<\/td>\n<\/tr>\n<tr style=\"background-color: #f8fafc;\">\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0; font-weight: bold;\">B\u1ed9 nh\u1edb trong (RAM)<\/td>\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0;\">2 GB RAM (+ 2GB Swap)<\/td>\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0;\">4 GB \u2013 8 GB RAM (+ Swap)<\/td>\n<\/tr>\n<tr style=\"background-color: #ffffff;\">\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0; font-weight: bold;\">\u1ed4 \u0111\u0129a c\u1ee9ng (Storage)<\/td>\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0;\">30 GB SSD \/ NVMe<\/td>\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0;\">50 GB \u2013 100 GB NVMe U.2 Enterprise t\u1ed1c \u0111\u1ed9 cao<\/td>\n<\/tr>\n<tr style=\"background-color: #f8fafc;\">\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0; font-weight: bold;\">Quy\u1ec1n truy c\u1eadp<\/td>\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0;\">Quy\u1ec1n t\u00e0i kho\u1ea3n Root ho\u1eb7c Sudoer<\/td>\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0;\">Root SSH tr\u1ef1c ti\u1ebfp ho\u1eb7c SSH Key Authentication<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"text-align: justify;\"><strong>Danh s\u00e1ch c\u00e1c Port m\u1ea1ng c\u1ea7n m\u1edf tr\u00ean Firewall m\u00e1y ch\u1ee7:<\/strong><\/p>\n<ul>\n<li><strong>Port 22:<\/strong> Truy c\u1eadp qu\u1ea3n tr\u1ecb t\u1eeb xa qua giao th\u1ee9c SSH.<\/li>\n<li><strong>Port 80 &amp; 443:<\/strong> Ph\u1ee5c v\u1ee5 ti\u1ebfp nh\u1eadn l\u01b0u l\u01b0\u1ee3ng HTTP\/HTTPS cho Traefik Reverse Proxy v\u00e0 c\u1ea5p ph\u00e1t ch\u1ee9ng ch\u1ec9 b\u1ea3o m\u1eadt Let&#8217;s Encrypt.<\/li>\n<li><strong>Port 8000:<\/strong> Giao di\u1ec7n \u0111i\u1ec1u khi\u1ec3n Web Dashboard c\u1ee7a Coolify.<\/li>\n<li><strong>Port 6001:<\/strong> C\u1ed5ng WebSockets qu\u1ea3n l\u00fd truy\u1ec1n t\u1ea3i logs th\u1eddi gian th\u1ef1c v\u00e0 s\u1ef1 ki\u1ec7n h\u1ec7 th\u1ed1ng.<\/li>\n<\/ul>\n<p><!-- BOX CTA #1 \u2014 THU\u00ca VPS --><\/p>\n<div style=\"display: flex; flex-wrap: wrap; background-color: #fff; border: 1.5px solid #BFDBFE; box-shadow: 0 8px 20px rgba(37,99,235,0.08); border-radius: 12px; overflow: hidden; margin: 35px 0;\">\n<div style=\"flex: 1; min-width: 250px; background: linear-gradient(135deg, #1E3A8A 0%, #2563EB 100%); display: flex; align-items: center; justify-content: center; padding: 30px; text-align: center;\">\n<div>\n<p style=\"color: #fff; font-size: 34px; font-family: 'Be Vietnam Pro', sans-serif; font-weight: bold; margin: 0; line-height: 1.1;\">VPS InterData<\/p>\n<p style=\"color: #dbeafe; font-size: 15px; font-weight: 600; margin-top: 12px;\">Quy\u1ec1n root, SSD NVMe, Docker s\u1eb5n s\u00e0ng<\/p>\n<\/div>\n<\/div>\n<div style=\"flex: 2; padding: 25px; min-width: 300px;\">\n<h3 style=\"font-family: 'Be Vietnam Pro', sans-serif; color: #1e3a8a; margin-top: 0; font-size: 20px;\">C\u1ea7n VPS Ubuntu c\u1ea5u h\u00ecnh chu\u1ea9n \u0111\u1ec3 c\u00e0i Coolify?<\/h3>\n<p style=\"text-align: justify; font-size: 15px; margin-bottom: 15px;\">H\u1ea1 t\u1ea7ng VPS InterData \u0111\u01b0\u1ee3c trang b\u1ecb 100% \u1ed5 c\u1ee9ng NVMe U.2 Enterprise v\u1edbi t\u1ed1c \u0111\u1ed9 \u0111\u1ecdc ghi v\u01b0\u1ee3t tr\u1ed9i, b\u0103ng th\u00f4ng trong n\u01b0\u1edbc v\u00e0 qu\u1ed1c t\u1ebf d\u1ed3i d\u00e0o, h\u1ed7 tr\u1ee3 to\u00e0n quy\u1ec1n Root \u0111\u1ec3 c\u00e0i \u0111\u1eb7t Docker Engine tr\u01a1n tru. \u0110\u1ed9i ng\u0169 k\u1ef9 thu\u1eadt t\u00fac tr\u1ef1c 24\/7 s\u1eb5n s\u00e0ng h\u1ed7 tr\u1ee3 b\u1ea1n c\u1ea5u h\u00ecnh h\u1ec7 th\u1ed1ng ban \u0111\u1ea7u.<\/p>\n<p><a style=\"background: linear-gradient(90deg, #2563EB 0%, #1E3A8A 100%); color: #fff; padding: 12px 25px; text-decoration: none; font-weight: 600; border-radius: 8px; font-size: 15px; display: inline-block; box-shadow: 0 5px 15px rgba(37,99,235,0.3);\" href=\"https:\/\/interdata.vn\/thue-vps\/\" target=\"_blank\" rel=\"noopener\">Xem B\u1ea3ng Gi\u00e1 Thu\u00ea VPS \u27f6<\/a><\/p>\n<\/div>\n<\/div>\n<h2 id=\"section3\" style=\"color: #1e3a8a; font-size: 24px; font-weight: bold; text-align: left; border-left: 5px solid #2563EB; padding-left: 15px; margin: 40px 0 20px; line-height: 1.4;\">3. H\u01b0\u1edbng d\u1eabn c\u00e1ch c\u00e0i Coolify tr\u00ean Ubuntu t\u1eebng b\u01b0\u1edbc chi ti\u1ebft (A-Z)<\/h2>\n<p style=\"text-align: justify;\">To\u00e0n b\u1ed9 quy tr\u00ecnh c\u00e0i \u0111\u1eb7t Coolify tr\u00ean Ubuntu \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf d\u1ea1ng 1-line script t\u1ef1 \u0111\u1ed9ng h\u00f3a ho\u00e0n to\u00e0n. B\u1ea1n kh\u00f4ng c\u1ea7n t\u1ef1 bi\u00ean d\u1ecbch m\u00e3 ngu\u1ed3n hay c\u1ea5u h\u00ecnh m\u1ea1ng th\u1ee7 c\u00f4ng. H\u00e3y tu\u00e2n th\u1ee7 theo 4 b\u01b0\u1edbc chu\u1ea9n k\u1ef9 thu\u1eadt d\u01b0\u1edbi \u0111\u00e2y.<\/p>\n<h3 style=\"color: #1e3a8a; font-size: 19px; font-weight: 600; margin-top: 25px;\">B\u01b0\u1edbc 1: K\u1ebft n\u1ed1i v\u00e0o m\u00e1y ch\u1ee7 VPS qua SSH<\/h3>\n<p style=\"text-align: justify;\">N\u1ebfu b\u1ea1n ch\u01b0a n\u1eafm r\u00f5 thao t\u00e1c qu\u1ea3n tr\u1ecb d\u00f2ng l\u1ec7nh t\u1eeb xa, h\u00e3y xem l\u1ea1i b\u00e0i vi\u1ebft <a href=\"https:\/\/interdata.vn\/blog\/huong-dan-su-dung-vps\/\">h\u01b0\u1edbng d\u1eabn s\u1eed d\u1ee5ng VPS<\/a>. M\u1edf Terminal (tr\u00ean macOS\/Linux) ho\u1eb7c PowerShell \/ PuTTY (tr\u00ean Windows) v\u00e0 th\u1ef1c hi\u1ec7n l\u1ec7nh k\u1ebft n\u1ed1i v\u1edbi t\u00e0i kho\u1ea3n root:<\/p>\n<pre><code>ssh root@&lt;DIA_CHI_IP_VPS&gt;<\/code><\/pre>\n<p style=\"text-align: justify; font-size: 14px; color: #475569;\"><em>*Thay th\u1ebf <code>&lt;DIA_CHI_IP_VPS&gt;<\/code> b\u1eb1ng \u0111\u1ecba ch\u1ec9 IP t\u0129nh do nh\u00e0 cung c\u1ea5p m\u00e1y ch\u1ee7 c\u1ea5p cho b\u1ea1n.<\/em><\/p>\n<h3 style=\"color: #1e3a8a; font-size: 19px; font-weight: 600; margin-top: 25px;\">B\u01b0\u1edbc 2: C\u1eadp nh\u1eadt g\u00f3i ph\u1ea7n m\u1ec1m v\u00e0 t\u1ea1o ph\u00e2n v\u00f9ng Swap b\u1ed9 nh\u1edb<\/h3>\n<p style=\"text-align: justify;\">Tr\u01b0\u1edbc khi k\u00edch ho\u1ea1t c\u00e0i \u0111\u1eb7t, b\u1ea1n n\u00ean c\u1eadp nh\u1eadt to\u00e0n b\u1ed9 kho l\u01b0u tr\u1eef g\u00f3i ph\u1ea7n m\u1ec1m Ubuntu l\u00ean tr\u1ea1ng th\u00e1i m\u1edbi nh\u1ea5t b\u1eb1ng <a href=\"https:\/\/interdata.vn\/blog\/cac-lenh-linux-co-ban\/\">c\u00e1c l\u1ec7nh Linux c\u01a1 b\u1ea3n<\/a> sau:<\/p>\n<pre><code>sudo apt update &amp;&amp; sudo apt upgrade -y\r\nsudo apt install -y curl wget git jq<\/code><\/pre>\n<p style=\"text-align: justify;\">\u0110\u1ec3 \u0111\u1ea3m b\u1ea3o an to\u00e0n tuy\u1ec7t \u0111\u1ed1i, tr\u00e1nh hi\u1ec7n t\u01b0\u1ee3ng m\u00e1y ch\u1ee7 b\u1ecb treo do thi\u1ebfu RAM trong qu\u00e1 tr\u00ecnh build c\u00e1c Docker Image n\u1eb7ng, vi\u1ec7c t\u1ea1o th\u00eam ph\u00e2n v\u00f9ng b\u1ed9 nh\u1edb \u1ea3o (Swap 2GB &#8211; 4GB) l\u00e0 v\u00f4 c\u00f9ng c\u1ea7n thi\u1ebft:<\/p>\n<pre><code># T\u1ea1o file swap dung l\u01b0\u1ee3ng 2GB\r\nsudo fallocate -l 2G \/swapfile\r\nsudo chmod 600 \/swapfile\r\nsudo mkswap \/swapfile\r\nsudo swapon \/swapfile\r\n\r\n# Ghi c\u1ea5u h\u00ecnh t\u1ef1 \u0111\u1ed9ng mount swap khi kh\u1edfi \u0111\u1ed9ng l\u1ea1i VPS\r\necho '\/swapfile none swap sw 0 0' | sudo tee -a \/etc\/fstab<\/code><\/pre>\n<h3 style=\"color: #1e3a8a; font-size: 19px; font-weight: 600; margin-top: 25px;\">B\u01b0\u1edbc 3: Ch\u1ea1y l\u1ec7nh c\u00e0i \u0111\u1eb7t Coolify ch\u00ednh th\u1ee9c<\/h3>\n<p style=\"text-align: justify;\">Th\u1ef1c thi script c\u00e0i \u0111\u1eb7t 1-line ch\u00ednh th\u1ee9c t\u1eeb Coolify. Script n\u00e0y s\u1ebd ki\u1ec3m tra m\u00f4i tr\u01b0\u1eddng, t\u1ef1 \u0111\u1ed9ng t\u1ea3i v\u00e0 c\u00e0i \u0111\u1eb7t Docker Engine b\u1ea3n chu\u1ea9n (kh\u00f4ng d\u00f9ng Docker Snap), thi\u1ebft l\u1eadp m\u1ea1ng Docker v\u00e0 k\u00e9o c\u00e1c container c\u1ed1t l\u00f5i c\u1ee7a Coolify v\u1ec1 m\u00e1y ch\u1ee7:<\/p>\n<pre><code>curl -fsSL https:\/\/cdn.coollabs.io\/coolify\/install.sh | bash<\/code><\/pre>\n<p style=\"text-align: justify;\"><strong>Gi\u1ea3i th\u00edch c\u01a1 ch\u1ebf v\u1eadn h\u00e0nh c\u1ee7a Script:<\/strong><\/p>\n<ul style=\"line-height: 1.8; text-align: justify; margin-left: 20px;\">\n<li><code>curl -fsSL<\/code>: T\u1ea3i m\u00e3 ngu\u1ed3n bash script m\u1ed9t c\u00e1ch an to\u00e0n m\u00e0 kh\u00f4ng hi\u1ec3n th\u1ecb ti\u1ebfn tr\u00ecnh c\u1ed3ng k\u1ec1nh, t\u1ef1 \u0111\u1ed9ng chuy\u1ec3n h\u01b0\u1edbng \u0111\u01b0\u1eddng d\u1eabn n\u1ebfu c\u00f3.<\/li>\n<li><code>| bash<\/code>: Chuy\u1ec3n to\u00e0n b\u1ed9 n\u1ed9i dung script v\u1eeba t\u1ea3i tr\u1ef1c ti\u1ebfp v\u00e0o tr\u00ecnh th\u00f4ng d\u1ecbch Bash \u0111\u1ec3 th\u1ef1c thi d\u01b0\u1edbi quy\u1ec1n h\u1ec7 th\u1ed1ng cao nh\u1ea5t.<\/li>\n<li>Trong qu\u00e1 tr\u00ecnh n\u00e0y, h\u1ec7 th\u1ed1ng s\u1ebd t\u1ef1 \u0111\u1ed9ng tri\u1ec3n khai <a href=\"https:\/\/interdata.vn\/blog\/docker-compose-la-gi\/\">c\u00f4ng c\u1ee5 Docker Compose<\/a> c\u00f9ng container Traefik Proxy, PostgreSQL n\u1ed9i b\u1ed9 v\u00e0 Coolify Core.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Ti\u1ebfn tr\u00ecnh c\u00e0i \u0111\u1eb7t th\u00f4ng th\u01b0\u1eddng di\u1ec5n ra trong kho\u1ea3ng 2 &#8211; 5 ph\u00fat t\u00f9y thu\u1ed9c v\u00e0o t\u1ed1c \u0111\u1ed9 m\u1ea1ng v\u00e0 hi\u1ec7u n\u0103ng I\/O \u1ed5 c\u1ee9ng m\u00e1y ch\u1ee7. Khi ho\u00e0n t\u1ea5t, m\u00e0n h\u00ecnh Terminal s\u1ebd hi\u1ec3n th\u1ecb th\u00f4ng b\u00e1o ch\u00fac m\u1eebng k\u00e8m \u0111\u01b0\u1eddng d\u1eabn truy c\u1eadp.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-43173\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Chay-script-cai-dat-Coolify.png\" alt=\"Ch\u1ea1y script c\u00e0i \u0111\u1eb7t Coolify\" width=\"1000\" height=\"648\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Chay-script-cai-dat-Coolify.png 1580w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Chay-script-cai-dat-Coolify-300x194.png 300w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Chay-script-cai-dat-Coolify-1024x664.png 1024w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Chay-script-cai-dat-Coolify-768x498.png 768w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Chay-script-cai-dat-Coolify-1536x995.png 1536w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<h3 style=\"color: #1e3a8a; font-size: 19px; font-weight: 600; margin-top: 25px;\">B\u01b0\u1edbc 4: Ki\u1ec3m tra tr\u1ea1ng th\u00e1i ho\u1ea1t \u0111\u1ed9ng c\u1ee7a c\u00e1c Container<\/h3>\n<p style=\"text-align: justify;\">Sau khi c\u00e0i \u0111\u1eb7t xong, b\u1ea1n c\u00f3 th\u1ec3 ki\u1ec3m tra xem c\u00e1c d\u1ecbch v\u1ee5 c\u1ee7a Coolify \u0111\u00e3 v\u1eadn h\u00e0nh \u1ed5n \u0111\u1ecbnh hay ch\u01b0a th\u00f4ng qua l\u1ec7nh ki\u1ec3m tra container:<\/p>\n<pre><code>docker ps<\/code><\/pre>\n<p style=\"text-align: justify;\">B\u1ea1n s\u1ebd th\u1ea5y t\u1ed1i thi\u1ec3u 3 container ch\u00ednh \u0111ang \u1edf tr\u1ea1ng th\u00e1i <code>Up<\/code>: <code>coolify<\/code>, <code>coolify-db<\/code> (PostgreSQL ph\u1ee5c v\u1ee5 \u1ee9ng d\u1ee5ng), <code>coolify-proxy<\/code> (Traefik Proxy) v\u00e0 <code>coolify-redis<\/code>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-43320\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Kiem-tra-trang-thai-hoat-dong-cua-cac-Container.png\" alt=\"Ki\u1ec3m tra tr\u1ea1ng th\u00e1i ho\u1ea1t \u0111\u1ed9ng c\u1ee7a c\u00e1c Container\" width=\"1000\" height=\"225\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Kiem-tra-trang-thai-hoat-dong-cua-cac-Container.png 1559w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Kiem-tra-trang-thai-hoat-dong-cua-cac-Container-300x67.png 300w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Kiem-tra-trang-thai-hoat-dong-cua-cac-Container-1024x230.png 1024w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Kiem-tra-trang-thai-hoat-dong-cua-cac-Container-768x172.png 768w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Kiem-tra-trang-thai-hoat-dong-cua-cac-Container-1536x345.png 1536w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<h3 style=\"color: #1e3a8a; font-size: 19px; font-weight: 600; margin-top: 25px;\">B\u01b0\u1edbc 5: \u0110\u0103ng nh\u1eadp giao di\u1ec7n Dashboard v\u00e0 kh\u1edfi t\u1ea1o t\u00e0i kho\u1ea3n Root<\/h3>\n<p style=\"text-align: justify;\">M\u1edf tr\u00ecnh duy\u1ec7t web c\u1ee7a b\u1ea1n v\u00e0 truy c\u1eadp theo \u0111\u01b0\u1eddng d\u1eabn IP c\u1ee7a m\u00e1y ch\u1ee7 v\u1edbi c\u1ed5ng 8000:<\/p>\n<pre><code>http:\/\/&lt;DIA_CHI_IP_VPS&gt;:8000<\/code><\/pre>\n<p style=\"text-align: justify;\">T\u1ea1i m\u00e0n h\u00ecnh \u0111\u0103ng k\u00fd ban \u0111\u1ea7u, b\u1ea1n ti\u1ebfn h\u00e0nh nh\u1eadp:<\/p>\n<ul style=\"line-height: 1.8; text-align: justify; margin-left: 20px;\">\n<li><strong>Name:<\/strong> T\u00ean qu\u1ea3n tr\u1ecb vi\u00ean c\u1ee7a b\u1ea1n.<\/li>\n<li><strong>Email:<\/strong> \u0110\u1ecba ch\u1ec9 email qu\u1ea3n tr\u1ecb h\u1ec7 th\u1ed1ng.<\/li>\n<li><strong>Password:<\/strong> M\u1eadt kh\u1ea9u b\u1ea3o m\u1eadt c\u00f3 \u0111\u1ed9 d\u00e0i t\u1ed1i thi\u1ec3u 8 k\u00fd t\u1ef1, bao g\u1ed3m ch\u1eef hoa, s\u1ed1 v\u00e0 k\u00fd t\u1ef1 \u0111\u1eb7c bi\u1ec7t.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Nh\u1ea5n <strong>Register<\/strong> \u0111\u1ec3 ho\u00e0n t\u1ea5t quy tr\u00ecnh kh\u1edfi t\u1ea1o t\u00e0i kho\u1ea3n qu\u1ea3n tr\u1ecb \u0111\u1ea7u ti\u00ean (Root Admin). B\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c chuy\u1ec3n h\u01b0\u1edbng th\u1eb3ng v\u00e0o b\u1ea3ng \u0111i\u1ec1u khi\u1ec3n trung t\u00e2m c\u1ee7a Coolify.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-43174\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Truy-cap-Coolify-Dashboard.png\" alt=\"Truy c\u1eadp Coolify Dashboard\" width=\"1000\" height=\"699\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Truy-cap-Coolify-Dashboard.png 1374w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Truy-cap-Coolify-Dashboard-300x210.png 300w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Truy-cap-Coolify-Dashboard-1024x715.png 1024w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/08\/Truy-cap-Coolify-Dashboard-768x537.png 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<h2 id=\"section4\" style=\"color: #1e3a8a; font-size: 24px; font-weight: bold; text-align: left; border-left: 5px solid #2563EB; padding-left: 15px; margin: 40px 0 20px; line-height: 1.4;\">4. H\u01b0\u1edbng d\u1eabn c\u1ea5u h\u00ecnh Domain v\u00e0 Reverse Proxy SSL Let&#8217;s Encrypt<\/h2>\n<p style=\"text-align: justify;\">\u0110\u1ec3 qu\u1ea3n tr\u1ecb Dashboard Coolify qua t\u00ean mi\u1ec1n b\u1ea3o m\u1eadt (v\u00ed d\u1ee5: <code>https:\/\/coolify.yourdomain.com<\/code>) thay v\u00ec d\u00f9ng \u0111\u1ecba ch\u1ec9 IP k\u00e8m port 8000 kh\u00f4ng m\u00e3 h\u00f3a, b\u1ea1n h\u00e3y th\u1ef1c hi\u1ec7n theo \u0111\u00fang c\u00e1c b\u01b0\u1edbc <a href=\"https:\/\/interdata.vn\/blog\/cach-cau-hinh-vps-de-chay-website\/\">c\u1ea5u h\u00ecnh VPS \u0111\u1ec3 ch\u1ea1y website<\/a> sau:<\/p>\n<p><strong>B\u01b0\u1edbc 1 &#8211; Tr\u1ecf b\u1ea3n ghi DNS:<\/strong> \u0110\u0103ng nh\u1eadp trang qu\u1ea3n tr\u1ecb DNS t\u00ean mi\u1ec1n c\u1ee7a b\u1ea1n (nh\u01b0 Cloudflare, DNS Qu\u1ed1c Gia). T\u1ea1o m\u1ed9t <strong>Record A<\/strong> v\u1edbi Host l\u00e0 <code>coolify<\/code> (ho\u1eb7c subdomain t\u00f9y ch\u1ecdn) v\u00e0 gi\u00e1 tr\u1ecb l\u00e0 \u0111\u1ecba ch\u1ec9 IPv4 c\u1ee7a VPS. H\u00e3y t\u1eaft ch\u1ebf \u0111\u1ed9 Proxy v\u00e0ng (ch\u1ec9 \u0111\u1ec3 DNS Only) n\u1ebfu d\u00f9ng Cloudflare trong b\u01b0\u1edbc x\u00e1c th\u1ef1c SSL \u0111\u1ea7u ti\u00ean.<\/p>\n<p><strong>B\u01b0\u1edbc 2 &#8211; G\u00e1n Domain trong Coolify:<\/strong> Trong giao di\u1ec7n Coolify Dashboard, \u0111i\u1ec1u h\u01b0\u1edbng \u0111\u1ebfn <strong>Settings<\/strong> &gt; <strong>Instance Settings<\/strong> &gt; t\u00ecm m\u1ee5c <strong>Instance&#8217;s Domain (FQDN)<\/strong>.<\/p>\n<p><strong>B\u01b0\u1edbc 3 &#8211; L\u01b0u v\u00e0 k\u00edch ho\u1ea1t SSL:<\/strong> Nh\u1eadp URL \u0111\u1ea7y \u0111\u1ee7 d\u1ea1ng <code>https:\/\/coolify.yourdomain.com<\/code> v\u00e0 nh\u1ea5n <strong>Save<\/strong>. Traefik Reverse Proxy t\u00edch h\u1ee3p s\u1eb5n trong Coolify s\u1ebd t\u1ef1 \u0111\u1ed9ng g\u1eedi y\u00eau c\u1ea7u \u0111\u1ebfn Let&#8217;s Encrypt \u0111\u1ec3 c\u1ea5p ph\u00e1t ch\u1ee9ng ch\u1ec9 b\u1ea3o m\u1eadt SSL\/TLS mi\u1ec5n ph\u00ed.<\/p>\n<p><!-- BOX CTA #2 \u2014 CANH ME --><\/p>\n<div style=\"background: linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 100%); border: 1.5px solid #2563EB; border-radius: 12px; padding: 28px; margin: 35px 0; text-align: center;\">\n<p style=\"font-family: 'Be Vietnam Pro', sans-serif; font-size: 22px; font-weight: bold; color: #1e3a8a; margin: 0 0 8px;\">S\u0103n Deals VPS v\u00e0 Cloud Server<\/p>\n<p style=\"font-size: 15px; color: #4b5563; margin-bottom: 20px;\">Canh Me t\u1ed5ng h\u1ee3p khuy\u1ebfn m\u00e3i, m\u00e3 gi\u1ea3m gi\u00e1, th\u1eddi gian \u00e1p d\u1ee5ng v\u00e0 \u0111i\u1ec1u ki\u1ec7n \u0111\u0103ng k\u00fd m\u1edbi nh\u1ea5t \u2014 xem tr\u01b0\u1edbc \u0111\u1ec3 ch\u1ecdn VPS ch\u1ea1y Coolify v\u1edbi chi ph\u00ed t\u1ed1i \u01b0u.<\/p>\n<p><a style=\"background: #2563EB; color: #fff; padding: 12px 30px; text-decoration: none; font-weight: 600; border-radius: 8px; display: inline-block;\" href=\"https:\/\/interdata.vn\/canhme\/\" target=\"_blank\" rel=\"noopener\">Xem hot deal t\u1ea1i Canh Me \u27f6<\/a><\/p>\n<\/div>\n<h2 id=\"section5\" style=\"color: #1e3a8a; font-size: 24px; font-weight: bold; text-align: left; border-left: 5px solid #2563EB; padding-left: 15px; margin: 40px 0 20px; line-height: 1.4;\">5. C\u00e1ch deploy \u1ee9ng d\u1ee5ng \u0111\u1ea7u ti\u00ean v\u00e0 kh\u1edfi t\u1ea1o Database tr\u00ean Coolify<\/h2>\n<p style=\"text-align: justify;\">Khi n\u1ec1n t\u1ea3ng \u0111\u00e3 s\u1eb5n s\u00e0ng, b\u1ea1n c\u00f3 th\u1ec3 tri\u1ec3n khai d\u1ef1 \u00e1n ho\u1eb7c c\u01a1 s\u1edf d\u1eef li\u1ec7u production ch\u1ec9 v\u1edbi v\u00e0i c\u00fa nh\u1ea5p chu\u1ed9t m\u00e0 kh\u00f4ng c\u1ea7n vi\u1ebft Dockerfile ph\u1ee9c t\u1ea1p.<\/p>\n<h3 style=\"color: #1e3a8a; font-size: 19px; font-weight: 600; margin-top: 25px;\">Tri\u1ec3n khai \u1ee9ng d\u1ee5ng t\u1eeb GitHub\/GitLab (Next.js \/ Node.js \/ Python)<\/h3>\n<ol>\n<li>T\u1ea1i m\u00e0n h\u00ecnh ch\u00ednh, ch\u1ecdn <strong>Projects<\/strong> &gt; nh\u1ea5n <strong>+ Add Resource<\/strong> &gt; ch\u1ecdn <strong>Public\/Private Git Repository<\/strong>.<\/li>\n<li>D\u00e1n link Git Repository ch\u1ee9a d\u1ef1 \u00e1n c\u1ee7a b\u1ea1n v\u00e0 ch\u1ecdn Branch (v\u00ed d\u1ee5: <code>main<\/code> ho\u1eb7c <code>production<\/code>).<\/li>\n<li>Coolify s\u1ebd t\u1ef1 \u0111\u1ed9ng nh\u1eadn di\u1ec7n framework (Next.js, Vite, Nuxt, Laravel, FastApi&#8230;). B\u1ea1n c\u1ea5u h\u00ecnh th\u00eam bi\u1ebfn m\u00f4i tr\u01b0\u1eddng (Environment Variables) trong tab <strong>Environment Variables<\/strong> n\u1ebfu d\u1ef1 \u00e1n y\u00eau c\u1ea7u.<\/li>\n<li>Nh\u1eadp t\u00ean mi\u1ec1n b\u1ea1n mu\u1ed1n g\u00e1n cho \u1ee9ng d\u1ee5ng trong \u00f4 <strong>FQDN<\/strong> (v\u00ed d\u1ee5: <code>https:\/\/app.yourdomain.com<\/code>).<\/li>\n<li>Nh\u1ea5n n\u00fat <strong>Deploy<\/strong>. Coolify s\u1ebd ti\u1ebfn h\u00e0nh clone m\u00e3 ngu\u1ed3n, ch\u1ea1y build container v\u00e0 \u0111\u1ecbnh tuy\u1ebfn qua Traefik v\u1edbi SSL \u0111\u01b0\u1ee3c k\u00edch ho\u1ea1t t\u1ef1 \u0111\u1ed9ng.<\/li>\n<\/ol>\n<h3 style=\"color: #1e3a8a; font-size: 19px; font-weight: 600; margin-top: 25px;\">Kh\u1edfi t\u1ea1o 1-Click Database (PostgreSQL \/ MySQL \/ Redis)<\/h3>\n<p style=\"text-align: justify;\">B\u00ean c\u1ea1nh \u1ee9ng d\u1ee5ng web, b\u1ea1n c\u00f3 th\u1ec3 t\u1ef1 host c\u01a1 s\u1edf d\u1eef li\u1ec7u tr\u00ean m\u00e1y ch\u1ee7 ri\u00eang bi\u1ec7t ho\u1eb7c d\u00f9ng chung VPS b\u1eb1ng ph\u01b0\u01a1ng ph\u00e1p <a href=\"https:\/\/interdata.vn\/blog\/vps-docker-la-gi\/\">s\u1eed d\u1ee5ng VPS Docker<\/a>:<\/p>\n<ul>\n<li>Ch\u1ecdn <strong>+ Add Resource<\/strong> &gt; ch\u1ecdn <strong>Databases<\/strong> &gt; ch\u1ecdn lo\u1ea1i CSDL mong mu\u1ed1n (v\u00ed d\u1ee5 <strong>PostgreSQL<\/strong>).<\/li>\n<li>Coolify s\u1ebd t\u1ef1 \u0111\u1ed9ng sinh ng\u1eabu nhi\u00ean User, Database Name v\u00e0 Password an to\u00e0n.<\/li>\n<li>B\u1ea1n c\u00f3 th\u1ec3 ch\u1ecdn c\u00f4ng khai c\u1ed5ng ra ngo\u00e0i (Public Port) ho\u1eb7c ch\u1ec9 cho ph\u00e9p c\u00e1c \u1ee9ng d\u1ee5ng n\u1ed9i b\u1ed9 trong c\u00f9ng c\u1ee5m Coolify truy c\u1eadp th\u00f4ng qua Private Network c\u1ee7a Docker.<\/li>\n<\/ul>\n<h2 id=\"section6\" style=\"color: #1e3a8a; font-size: 24px; font-weight: bold; text-align: left; border-left: 5px solid #2563EB; padding-left: 15px; margin: 40px 0 20px; line-height: 1.4;\">6. X\u1eed l\u00fd c\u00e1c l\u1ed7i th\u01b0\u1eddng g\u1eb7p khi c\u00e0i \u0111\u1eb7t v\u00e0 v\u1eadn h\u00e0nh Coolify tr\u00ean Ubuntu<\/h2>\n<p style=\"text-align: justify;\">Trong qu\u00e1 tr\u00ecnh tri\u1ec3n khai th\u1ef1c t\u1ebf tr\u00ean m\u00e1y ch\u1ee7 Linux, b\u1ea1n c\u00f3 th\u1ec3 g\u1eb7p ph\u1ea3i m\u1ed9t s\u1ed1 l\u1ed7i ph\u1ed5 bi\u1ebfn do t\u01b0\u1eddng l\u1eeda ho\u1eb7c xung \u0111\u1ed9t t\u00e0i nguy\u00ean. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 b\u1ea3ng t\u1ed5ng h\u1ee3p nguy\u00ean nh\u00e2n v\u00e0 c\u00e2u l\u1ec7nh kh\u1eafc ph\u1ee5c nhanh:<\/p>\n<table style=\"width: 100%; border-collapse: collapse; margin: 25px 0; font-size: 15px;\">\n<thead>\n<tr style=\"background-color: #1e3a8a; color: #ffffff; text-align: left;\">\n<th style=\"padding: 12px 15px; border: 1px solid #BFDBFE;\">Hi\u1ec7n t\u01b0\u1ee3ng l\u1ed7i<\/th>\n<th style=\"padding: 12px 15px; border: 1px solid #BFDBFE;\">Nguy\u00ean nh\u00e2n ch\u00ednh<\/th>\n<th style=\"padding: 12px 15px; border: 1px solid #BFDBFE;\">Gi\u1ea3i ph\u00e1p kh\u1eafc ph\u1ee5c k\u1ef9 thu\u1eadt<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"background-color: #f8fafc;\">\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0; font-weight: bold;\">Kh\u00f4ng v\u00e0o \u0111\u01b0\u1ee3c Port 8000 sau khi c\u00e0i \u0111\u1eb7t<\/td>\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0;\">T\u01b0\u1eddng l\u1eeda UFW ho\u1eb7c Security Group ch\u1eb7n Port 8000<\/td>\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0;\">Ch\u1ea1y l\u1ec7nh: <code>sudo ufw allow 8000\/tcp &amp;&amp; sudo ufw allow 80\/tcp &amp;&amp; sudo ufw allow 443\/tcp &amp;&amp; sudo ufw reload<\/code><\/td>\n<\/tr>\n<tr style=\"background-color: #ffffff;\">\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0; font-weight: bold;\">Ti\u1ebfn tr\u00ecnh Build b\u1ecb treo \/ B\u00e1o l\u1ed7i OOM Killed<\/td>\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0;\">M\u00e1y ch\u1ee7 h\u1ebft RAM v\u1eadt l\u00fd khi build Docker Image n\u1eb7ng<\/td>\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0;\">T\u1ea1o th\u00eam file Swap t\u1ed1i thi\u1ec3u 2GB-4GB theo h\u01b0\u1edbng d\u1eabn \u1edf M\u1ee5c 3 ho\u1eb7c n\u00e2ng c\u1ea5p g\u00f3i RAM m\u00e1y ch\u1ee7.<\/td>\n<\/tr>\n<tr style=\"background-color: #f8fafc;\">\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0; font-weight: bold;\">L\u1ed7i xung \u0111\u1ed9t Port 80\/443 (Port already allocated)<\/td>\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0;\">VPS \u0111\u00e3 c\u00f3 s\u1eb5n Nginx, Apache ho\u1eb7c Caddy ch\u1ea1y n\u1ec1n<\/td>\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0;\">T\u1eaft d\u1ecbch v\u1ee5 web server c\u0169 b\u1eb1ng l\u1ec7nh: <code>sudo systemctl stop nginx &amp;&amp; sudo systemctl disable nginx<\/code><\/td>\n<\/tr>\n<tr style=\"background-color: #ffffff;\">\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0; font-weight: bold;\">Kh\u00f4ng c\u1ea5p \u0111\u01b0\u1ee3c SSL Let&#8217;s Encrypt<\/td>\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0;\">DNS ch\u01b0a tr\u1ecf \u0111\u00fang IP ho\u1eb7c \u0111ang b\u1eadt Cloudflare Proxy (\u0111\u00e1m m\u00e2y cam)<\/td>\n<td style=\"padding: 12px 15px; border: 1px solid #E2E8F0;\">T\u1eaft \u0111\u00e1m m\u00e2y m\u00e0u cam tr\u00ean Cloudflare v\u1ec1 tr\u1ea1ng th\u00e1i DNS Only (x\u00e1m) \u0111\u1ec3 Let&#8217;s Encrypt x\u00e1c th\u1ef1c HTTP-01 Challenge.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"text-align: justify;\">Khi s\u1ed1 l\u01b0\u1ee3ng d\u1ecbch v\u1ee5 tr\u00ean Coolify b\u1eaft \u0111\u1ea7u t\u0103ng t\u1eeb m\u1ed9t v\u00e0i web v\u1ec7 tinh l\u00ean quy m\u00f4 h\u1ec7 th\u1ed1ng l\u1edbn bao g\u1ed3m 5\u201310 \u1ee9ng d\u1ee5ng s\u1ea3n xu\u1ea5t, nhi\u1ec1u c\u1ee5m Database (PostgreSQL, Redis cluster) v\u00e0 l\u01b0\u1ee3ng truy c\u1eadp t\u0103ng v\u1ecdt, VPS th\u00f4ng th\u01b0\u1eddng v\u1edbi t\u00e0i nguy\u00ean c\u1ed1 \u0111\u1ecbnh c\u00f3 th\u1ec3 ch\u1ea1m ng\u01b0\u1ee1ng ch\u1ecbu t\u1ea3i. \u0110\u00e2y l\u00e0 l\u00fac b\u1ea1n c\u1ea7n c\u00e2n nh\u1eafc gi\u1ea3i ph\u00e1p Cloud Server.<\/p>\n<p><!-- BOX CTA #3 \u2014 CLOUD SERVER --><\/p>\n<div style=\"display: flex; flex-wrap: wrap; background-color: #fff; border: 1.5px solid #BFDBFE; box-shadow: 0 8px 20px rgba(37,99,235,0.08); border-radius: 12px; overflow: hidden; margin: 35px 0;\">\n<div style=\"flex: 1; min-width: 250px; background: linear-gradient(135deg, #1E3A8A 0%, #2563EB 100%); display: flex; align-items: center; justify-content: center; padding: 30px; text-align: center;\">\n<div>\n<p style=\"color: #fff; font-size: 34px; font-family: 'Be Vietnam Pro', sans-serif; font-weight: bold; margin: 0; line-height: 1.1;\">Cloud Server InterData<\/p>\n<p style=\"color: #dbeafe; font-size: 15px; font-weight: 600; margin-top: 12px;\">N\u00e2ng\/h\u1ea1 t\u00e0i nguy\u00ean nhanh theo t\u1ea3i<\/p>\n<\/div>\n<\/div>\n<div style=\"flex: 2; padding: 25px; min-width: 300px;\">\n<h3 style=\"font-family: 'Be Vietnam Pro', sans-serif; color: #1e3a8a; margin-top: 0; font-size: 20px;\">V\u1eadn h\u00e0nh nhi\u1ec1u d\u1ef1 \u00e1n v\u00e0 Database l\u1edbn tr\u00ean Coolify?<\/h3>\n<p style=\"text-align: justify; font-size: 15px; margin-bottom: 15px;\">D\u1ecbch v\u1ee5 Cloud Server t\u1ea1i InterData mang l\u1ea1i t\u00ednh n\u0103ng co gi\u00e3n linh ho\u1ea1t (Scalability) t\u1ee9c th\u00ec cho ph\u00e9p b\u1ea1n n\u00e2ng c\u1ea5p th\u00eam RAM, CPU v\u00e0 m\u1edf r\u1ed9ng dung l\u01b0\u1ee3ng \u1ed5 \u0111\u0129a NVMe m\u00e0 kh\u00f4ng c\u1ea7n chuy\u1ec3n d\u1eef li\u1ec7u hay lo ng\u1ea1i nguy c\u01a1 gi\u00e1n \u0111o\u1ea1n d\u1ecbch v\u1ee5.<\/p>\n<p><a style=\"background: linear-gradient(90deg, #2563EB 0%, #1E3A8A 100%); color: #fff; padding: 12px 25px; text-decoration: none; font-weight: 600; border-radius: 8px; font-size: 15px; display: inline-block; box-shadow: 0 5px 15px rgba(37,99,235,0.3);\" href=\"https:\/\/interdata.vn\/cloud-server\/\" target=\"_blank\" rel=\"noopener\">Xem B\u1ea3ng Gi\u00e1 Cloud Server \u27f6<\/a><\/p>\n<\/div>\n<\/div>\n<h2 id=\"section8\" style=\"color: #1e3a8a; font-size: 24px; font-weight: bold; text-align: left; border-left: 5px solid #2563EB; padding-left: 15px; margin: 40px 0 20px; line-height: 1.4;\">7. C\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p (FAQ)<\/h2>\n<div style=\"margin-bottom: 20px;\">\n<p style=\"font-family: 'Be Vietnam Pro', sans-serif; font-weight: bold; color: #1e3a8a; font-size: 16px; margin-bottom: 5px;\">1. Coolify c\u00f3 mi\u1ec5n ph\u00ed ho\u00e0n to\u00e0n kh\u00f4ng?<\/p>\n<p style=\"text-align: justify; font-size: 15px; margin: 0;\">Coolify l\u00e0 ph\u1ea7n m\u1ec1m m\u00e3 ngu\u1ed3n m\u1edf ho\u00e0n to\u00e0n mi\u1ec5n ph\u00ed khi b\u1ea1n t\u1ef1 c\u00e0i \u0111\u1eb7t tr\u00ean m\u00e1y ch\u1ee7 c\u00e1 nh\u00e2n (Self-hosted). B\u1ea1n kh\u00f4ng b\u1ecb gi\u1edbi h\u1ea1n s\u1ed1 l\u01b0\u1ee3ng \u1ee9ng d\u1ee5ng, database hay t\u00ean mi\u1ec1n tri\u1ec3n khai v\u00e0 ch\u1ec9 c\u1ea7n thanh to\u00e1n chi ph\u00ed h\u1ea1 t\u1ea7ng m\u00e1y ch\u1ee7.<\/p>\n<\/div>\n<div style=\"margin-bottom: 20px;\">\n<p style=\"font-family: 'Be Vietnam Pro', sans-serif; font-weight: bold; color: #1e3a8a; font-size: 16px; margin-bottom: 5px;\">2. C\u00e0i Coolify tr\u00ean Ubuntu c\u00f3 t\u1ef1 \u0111\u1ed9ng c\u00e0i Docker kh\u00f4ng?<\/p>\n<p style=\"text-align: justify; font-size: 15px; margin: 0;\">C\u00f3. Script c\u00e0i \u0111\u1eb7t 1-line ch\u00ednh th\u1ee9c c\u1ee7a Coolify s\u1ebd t\u1ef1 \u0111\u1ed9ng nh\u1eadn di\u1ec7n h\u1ec7 \u0111i\u1ec1u h\u00e0nh, c\u00e0i \u0111\u1eb7t Docker Engine phi\u00ean b\u1ea3n \u1ed5n \u0111\u1ecbnh t\u1eeb repository ch\u00ednh th\u1ee9c v\u00e0 thi\u1ebft l\u1eadp c\u00e1c daemon ph\u1ee5 tr\u1ee3 m\u00e0 kh\u00f4ng c\u1ea7n b\u1ea1n c\u00e0i \u0111\u1eb7t Docker th\u1ee7 c\u00f4ng tr\u01b0\u1edbc.<\/p>\n<\/div>\n<div style=\"margin-bottom: 20px;\">\n<p style=\"font-family: 'Be Vietnam Pro', sans-serif; font-weight: bold; color: #1e3a8a; font-size: 16px; margin-bottom: 5px;\">3. L\u00e0m sao \u0111\u1ec3 c\u1eadp nh\u1eadt phi\u00ean b\u1ea3n m\u1edbi c\u1ee7a Coolify tr\u00ean Ubuntu?<\/p>\n<p style=\"text-align: justify; font-size: 15px; margin: 0;\">Coolify h\u1ed7 tr\u1ee3 t\u00ednh n\u0103ng t\u1ef1 \u0111\u1ed9ng c\u1eadp nh\u1eadt ngay tr\u00ean giao di\u1ec7n Web Dashboard t\u1ea1i m\u1ee5c Settings. N\u1ebfu mu\u1ed1n c\u1eadp nh\u1eadt qua SSH b\u1eb1ng l\u1ec7nh, b\u1ea1n ch\u1ec9 c\u1ea7n ch\u1ea1y l\u1ea1i \u0111\u00fang 1-line script c\u00e0i \u0111\u1eb7t ban \u0111\u1ea7u, d\u1eef li\u1ec7u c\u0169 c\u1ee7a b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c gi\u1eef nguy\u00ean an to\u00e0n.<\/p>\n<\/div>\n<div style=\"margin-bottom: 20px;\">\n<p style=\"font-family: 'Be Vietnam Pro', sans-serif; font-weight: bold; color: #1e3a8a; font-size: 16px; margin-bottom: 5px;\">4. Coolify kh\u00e1c g\u00ec so v\u1edbi Portainer?<\/p>\n<p style=\"text-align: justify; font-size: 15px; margin: 0;\">Portainer t\u1eadp trung v\u00e0o vi\u1ec7c qu\u1ea3n tr\u1ecb h\u1ea1 t\u1ea7ng Docker container thu\u1ea7n t\u00fay, trong khi Coolify l\u00e0 n\u1ec1n t\u1ea3ng PaaS ho\u00e0n ch\u1ec9nh t\u00edch h\u1ee3p s\u1eb5n Git CI\/CD, t\u1ef1 \u0111\u1ed9ng c\u1ea5p ph\u00e1t t\u00ean mi\u1ec1n SSL, tri\u1ec3n khai 1-click Database v\u00e0 t\u00edch h\u1ee3p proxy \u0111\u1ecbnh tuy\u1ebfn th\u00f4ng minh cho l\u1eadp tr\u00ecnh vi\u00ean.<\/p>\n<\/div>\n<div style=\"margin-bottom: 20px;\">\n<p style=\"font-family: 'Be Vietnam Pro', sans-serif; font-weight: bold; color: #1e3a8a; font-size: 16px; margin-bottom: 5px;\">5. C\u1ea7n c\u1ea5u h\u00ecnh VPS bao nhi\u00eau RAM \u0111\u1ec3 Coolify ch\u1ea1y m\u01b0\u1ee3t m\u00e0?<\/p>\n<p style=\"text-align: justify; font-size: 15px; margin: 0;\">M\u1ee9c t\u1ed1i thi\u1ec3u \u0111\u1ec3 Coolify kh\u1edfi \u0111\u1ed9ng l\u00e0 2GB RAM. Tuy nhi\u00ean, n\u1ebfu b\u1ea1n x\u00e2y d\u1ef1ng c\u00e1c \u1ee9ng d\u1ee5ng Next.js\/Node.js tr\u1ef1c ti\u1ebfp tr\u00ean server k\u00e8m c\u01a1 s\u1edf d\u1eef li\u1ec7u, m\u1ee9c c\u1ea5u h\u00ecnh khuy\u1ebfn ngh\u1ecb t\u1ed1t nh\u1ea5t t\u1eeb chuy\u00ean gia l\u00e0 t\u1eeb 4GB RAM tr\u1edf l\u00ean v\u00e0 thi\u1ebft l\u1eadp th\u00eam 2GB-4GB Swap.<\/p>\n<\/div>\n<div style=\"border-top: 2px dashed #BFDBFE; margin-top: 50px; padding-top: 30px;\">\n<h3 style=\"font-family: 'Be Vietnam Pro', sans-serif; color: #1e3a8a; font-size: 22px; font-weight: bold; margin-bottom: 15px;\">T\u1ed5ng k\u1ebft<\/h3>\n<p style=\"text-align: justify;\">N\u1eafm v\u1eefng <strong>c\u00e1ch c\u00e0i Coolify tr\u00ean Ubuntu<\/strong> gi\u00fap b\u1ea1n ch\u1ee7 \u0111\u1ed9ng x\u00e2y d\u1ef1ng h\u1ea1 t\u1ea7ng PaaS hi\u1ec7n \u0111\u1ea1i, ti\u1ebft ki\u1ec7m h\u00e0ng ngh\u00ecn USD chi ph\u00ed v\u1eadn h\u00e0nh \u1ee9ng d\u1ee5ng h\u00e0ng n\u0103m m\u00e0 v\u1eabn \u0111\u1ea3m b\u1ea3o hi\u1ec7u su\u1ea5t m\u1ea1nh m\u1ebd. \u0110\u1ec3 n\u1ec1n t\u1ea3ng v\u1eadn h\u00e0nh \u1ed5n \u0111\u1ecbnh v\u00e0 b\u1ea3o m\u1eadt nh\u1ea5t, h\u00e3y trang b\u1ecb m\u1ed9t m\u00e1y ch\u1ee7 VPS s\u1ea1ch v\u1edbi \u0111\u01b0\u1eddng truy\u1ec1n t\u1ed1c \u0111\u1ed9 cao v\u00e0 c\u1ea5u h\u00ecnh ph\u1ea7n c\u1ee9ng t\u1ed1i \u01b0u.<\/p>\n<\/div>\n<p style=\"text-align: justify; font-size: 13px; font-style: italic; color: #6b7280; margin-top: 30px; border-top: 1px solid #E5E7EB; padding-top: 15px;\"><span style=\"font-size: 100%;\"><em>N\u1ed9i dung mang t\u00ednh tham kh\u1ea3o v\u00e0 \u0111\u01b0\u1ee3c vi\u1ebft d\u1ef1a tr\u00ean t\u00e0i li\u1ec7u ch\u00ednh th\u1ee9c c\u1ee7a Coolify t\u1ea1i coolify.io\/docs. Giao di\u1ec7n, l\u1ec7nh c\u00e0i \u0111\u1eb7t v\u00e0 t\u00ednh n\u0103ng c\u00f3 th\u1ec3 thay \u0111\u1ed5i theo phi\u00ean b\u1ea3n Coolify m\u1edbi. N\u00ean ki\u1ec3m th\u1eed tr\u00ean m\u00f4i tr\u01b0\u1eddng staging, sao l\u01b0u d\u1eef li\u1ec7u v\u00e0 \u0111\u1ed1i chi\u1ebfu t\u00e0i li\u1ec7u m\u1edbi nh\u1ea5t t\u1ea1i coolify.io tr\u01b0\u1edbc khi \u00e1p d\u1ee5ng cho production.<\/em><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>C\u00e1ch c\u00e0i Coolify tr\u00ean Ubuntu l\u00e0 gi\u1ea3i ph\u00e1p t\u1ed1i \u01b0u gi\u00fap l\u1eadp tr\u00ecnh vi\u00ean v\u00e0 nh\u00e0 ph\u00e1t tri\u1ec3n web t\u1ef1 x\u00e2y d\u1ef1ng n\u1ec1n t\u1ea3ng PaaS (Platform as a Service) m\u1ea1nh m\u1ebd nh\u01b0 Vercel hay Heroku ngay tr\u00ean h\u1ea1 t\u1ea7ng m\u00e1y ch\u1ee7 ri\u00eang. Thay v\u00ec ch\u1ecbu m\u1ee9c chi ph\u00ed SaaS \u0111\u1eaft \u0111\u1ecf khi \u1ee9ng d\u1ee5ng m\u1edf<\/p>\n","protected":false},"author":2,"featured_media":43179,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[161],"tags":[],"class_list":["post-43129","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-huong-dan-chung"],"_links":{"self":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/43129","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/comments?post=43129"}],"version-history":[{"count":13,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/43129\/revisions"}],"predecessor-version":[{"id":43324,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/43129\/revisions\/43324"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/media\/43179"}],"wp:attachment":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/media?parent=43129"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/categories?post=43129"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/tags?post=43129"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}