{"id":28993,"date":"2025-05-23T14:00:33","date_gmt":"2025-05-23T07:00:33","guid":{"rendered":"https:\/\/interdata.vn\/blog\/?p=28993"},"modified":"2025-05-23T14:00:57","modified_gmt":"2025-05-23T07:00:57","slug":"cai-dat-n8n-bang-docker","status":"publish","type":"post","link":"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/","title":{"rendered":"H\u01b0\u1edbng d\u1eabn c\u00e0i \u0111\u1eb7t n8n b\u1eb1ng Docker tr\u00ean VPS (A-Z)"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">N\u1ed8I DUNG<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Tai-sao-nen-cai-dat-n8n-bang-Docker\" >T\u1ea1i sao n\u00ean c\u00e0i \u0111\u1eb7t n8n b\u1eb1ng Docker?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Chuan-bi-truoc-khi-cai-dat-n8n-voi-Docker\" >Chu\u1ea9n b\u1ecb tr\u01b0\u1edbc khi c\u00e0i \u0111\u1eb7t n8n v\u1edbi Docker<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Yeu-cau-ve-VPS\" >Y\u00eau c\u1ea7u v\u1ec1 VPS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Cai-dat-Docker-Docker-Compose\" >C\u00e0i \u0111\u1eb7t Docker &amp; Docker Compose<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Kien-thuc-Docker-co-ban\" >Ki\u1ebfn th\u1ee9c Docker c\u01a1 b\u1ea3n<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Cac-buoc-cai-dat-n8n-bang-Docker-Su-dung-Docker-Compose\" >C\u00e1c b\u01b0\u1edbc c\u00e0i \u0111\u1eb7t n8n b\u1eb1ng Docker (S\u1eed d\u1ee5ng Docker Compose)<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Buoc-1-Tao-thu-muc-luu-tru-cho-n8n\" >B\u01b0\u1edbc 1: T\u1ea1o th\u01b0 m\u1ee5c l\u01b0u tr\u1eef cho n8n<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Buoc-2-Chuan-bi-file-docker-composeyml\" >B\u01b0\u1edbc 2: Chu\u1ea9n b\u1ecb file docker-compose.yml<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Buoc-3-Tai-n8n-image-va-khoi-chay-container\" >B\u01b0\u1edbc 3: T\u1ea3i n8n image v\u00e0 kh\u1edfi ch\u1ea1y container<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Buoc-4-Kiem-tra-trang-thai-hoat-dong-cua-n8n\" >B\u01b0\u1edbc 4: Ki\u1ec3m tra tr\u1ea1ng th\u00e1i ho\u1ea1t \u0111\u1ed9ng c\u1ee7a n8n<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Cau-hinh-n8n-sau-khi-cai-dat-qua-Docker\" >C\u1ea5u h\u00ecnh n8n sau khi c\u00e0i \u0111\u1eb7t qua Docker<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Truy-cap-n8n-lan-dau-va-tao-tai-khoan-admin\" >Truy c\u1eadp n8n l\u1ea7n \u0111\u1ea7u v\u00e0 t\u1ea1o t\u00e0i kho\u1ea3n admin<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Tuy-chon-Cau-hinh-Domain-va-SSL-HTTPS\" >(T\u00f9y ch\u1ecdn) C\u1ea5u h\u00ecnh Domain v\u00e0 SSL (HTTPS)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Tuy-chon-Thiet-lap-bien-moi-truong-nang-cao\" >(T\u00f9y ch\u1ecdn) Thi\u1ebft l\u1eadp bi\u1ebfn m\u00f4i tr\u01b0\u1eddng n\u00e2ng cao<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Luu-y-ve-persistant-data-du-lieu-co-dinh\" >L\u01b0u \u00fd v\u1ec1 persistant data (d\u1eef li\u1ec7u c\u1ed1 \u0111\u1ecbnh)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Cap-nhat-phien-ban-n8n-Docker\" >C\u1eadp nh\u1eadt phi\u00ean b\u1ea3n n8n Docker<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Cac-buoc-cap-nhat-an-toan\" >C\u00e1c b\u01b0\u1edbc c\u1eadp nh\u1eadt an to\u00e0n<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Lua-chon-VPS-toi-uu-de-chay-n8n-voi-Docker\" >L\u1ef1a ch\u1ecdn VPS t\u1ed1i \u01b0u \u0111\u1ec3 ch\u1ea1y n8n v\u1edbi Docker<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Cac-yeu-to-can-can-nhac-khi-chon-VPS-cho-n8n\" >C\u00e1c y\u1ebfu t\u1ed1 c\u1ea7n c\u00e2n nh\u1eafc khi ch\u1ecdn VPS cho n8n<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Tai-sao-nen-chon-VPS-InterData-cho-n8n\" >T\u1ea1i sao n\u00ean ch\u1ecdn VPS InterData cho n8n?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Goi-y-cac-goi-VPS-phu-hop\" >G\u1ee3i \u00fd c\u00e1c g\u00f3i VPS ph\u00f9 h\u1ee3p<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Cau-hoi-thuong-gap-FAQ-khi-cai-dat-n8n-bang-Docker\" >C\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p (FAQ) khi c\u00e0i \u0111\u1eb7t n8n b\u1eb1ng Docker<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Loi-port-conflict-giai-quyet-the-nao\" >L\u1ed7i port conflict gi\u1ea3i quy\u1ebft th\u1ebf n\u00e0o?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Lam-sao-de-n8n-khoi-dong-cung-VPS\" >L\u00e0m sao \u0111\u1ec3 n8n kh\u1edfi \u0111\u1ed9ng c\u00f9ng VPS?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#n8n-co-ton-nhieu-tai-nguyen-VPS-khong\" >n8n c\u00f3 t\u1ed1n nhi\u1ec1u t\u00e0i nguy\u00ean VPS kh\u00f4ng?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/interdata.vn\/blog\/cai-dat-n8n-bang-docker\/#Cach-backup-du-lieu-n8n-khi-dung-Docker\" >C\u00e1ch backup d\u1eef li\u1ec7u n8n khi d\u00f9ng Docker?<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n<p>T\u1ef1 \u0111\u1ed9ng h\u00f3a quy tr\u00ecnh l\u00e0m vi\u1ec7c gi\u00fap doanh nghi\u1ec7p v\u00e0 c\u00e1 nh\u00e2n ti\u1ebft ki\u1ec7m th\u1eddi gian, t\u1ed1i \u01b0u h\u00f3a ngu\u1ed3n l\u1ef1c hi\u1ec7u qu\u1ea3. B\u00e0i vi\u1ebft n\u00e0y cung c\u1ea5p h\u01b0\u1edbng d\u1eabn to\u00e0n di\u1ec7n, t\u1eeb A-Z, v\u1ec1 c\u00e1ch c\u00e0i \u0111\u1eb7t n8n, m\u1ed9t c\u00f4ng c\u1ee5 t\u1ef1 \u0111\u1ed9ng h\u00f3a m\u1ea1nh m\u1ebd, b\u1eb1ng Docker tr\u00ean m\u00e1y ch\u1ee7 ri\u00eang \u1ea3o (VPS), gi\u00fap b\u1ea1n l\u00e0m ch\u1ee7 c\u00f4ng ngh\u1ec7 n\u00e0y m\u1ed9t c\u00e1ch nhanh ch\u00f3ng v\u00e0 b\u1ea3o m\u1eadt.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Tai-sao-nen-cai-dat-n8n-bang-Docker\"><\/span>T\u1ea1i sao n\u00ean c\u00e0i \u0111\u1eb7t n8n b\u1eb1ng Docker?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>S\u1eed d\u1ee5ng Docker \u0111\u1ec3 tri\u1ec3n khai n8n mang l\u1ea1i nhi\u1ec1u l\u1ee3i \u00edch thi\u1ebft th\u1ef1c. Docker c\u00f4 l\u1eadp m\u00f4i tr\u01b0\u1eddng \u1ee9ng d\u1ee5ng, \u0111\u1ea3m b\u1ea3o n8n ho\u1ea1t \u0111\u1ed9ng \u1ed5n \u0111\u1ecbnh, kh\u00f4ng xung \u0111\u1ed9t v\u1edbi c\u00e1c ph\u1ea7n m\u1ec1m kh\u00e1c tr\u00ean VPS c\u1ee7a b\u1ea1n. Qu\u00e1 tr\u00ecnh c\u00e0i \u0111\u1eb7t v\u00e0 c\u1eadp nh\u1eadt n8n tr\u1edf n\u00ean \u0111\u01a1n gi\u1ea3n h\u01a1n r\u1ea5t nhi\u1ec1u.<\/p>\n<p>V\u1edbi Docker, b\u1ea1n c\u00f3 th\u1ec3 d\u1ec5 d\u00e0ng di chuy\u1ec3n n8n gi\u1eefa c\u00e1c m\u00e1y ch\u1ee7 kh\u00e1c nhau m\u00e0 kh\u00f4ng c\u1ea7n c\u1ea5u h\u00ecnh l\u1ea1i t\u1eeb \u0111\u1ea7u. C\u1ed9ng \u0111\u1ed3ng ng\u01b0\u1eddi d\u00f9ng Docker v\u00e0 n8n r\u1ea5t l\u1edbn, cung c\u1ea5p ngu\u1ed3n t\u00e0i li\u1ec7u v\u00e0 h\u1ed7 tr\u1ee3 phong ph\u00fa khi b\u1ea1n g\u1eb7p v\u1ea5n \u0111\u1ec1. Ph\u01b0\u01a1ng ph\u00e1p n\u00e0y c\u0169ng gi\u00fap qu\u1ea3n l\u00fd t\u00e0i nguy\u00ean h\u1ec7 th\u1ed1ng t\u1ed1t h\u01a1n.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Cai-dat-n8n-bang-Docker.jpg\" alt=\"C\u00e0i \u0111\u1eb7t n8n b\u1eb1ng Docker\" width=\"750\" height=\"500\" class=\"aligncenter size-full wp-image-28997\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Cai-dat-n8n-bang-Docker.jpg 750w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Cai-dat-n8n-bang-Docker-300x200.jpg 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Chuan-bi-truoc-khi-cai-dat-n8n-voi-Docker\"><\/span>Chu\u1ea9n b\u1ecb tr\u01b0\u1edbc khi c\u00e0i \u0111\u1eb7t n8n v\u1edbi Docker<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Tr\u01b0\u1edbc khi b\u1eaft \u0111\u1ea7u qu\u00e1 tr\u00ecnh c\u00e0i \u0111\u1eb7t n8n b\u1eb1ng Docker, vi\u1ec7c chu\u1ea9n b\u1ecb k\u1ef9 l\u01b0\u1ee1ng s\u1ebd \u0111\u1ea3m b\u1ea3o qu\u00e1 tr\u00ecnh di\u1ec5n ra su\u00f4n s\u1ebb v\u00e0 hi\u1ec7u qu\u1ea3. B\u1ea1n c\u1ea7n m\u1ed9t s\u1ed1 y\u1ebfu t\u1ed1 n\u1ec1n t\u1ea3ng v\u1ec1 h\u1ea1 t\u1ea7ng v\u00e0 ki\u1ebfn th\u1ee9c c\u01a1 b\u1ea3n.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Yeu-cau-ve-VPS\"><\/span>Y\u00eau c\u1ea7u v\u1ec1 VPS<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0110\u1ec3 n8n ho\u1ea1t \u0111\u1ed9ng \u1ed5n \u0111\u1ecbnh qua Docker, VPS c\u1ee7a b\u1ea1n c\u1ea7n \u0111\u00e1p \u1ee9ng m\u1ed9t s\u1ed1 y\u00eau c\u1ea7u c\u1ea5u h\u00ecnh t\u1ed1i thi\u1ec3u. Khuy\u1ebfn ngh\u1ecb \u00edt nh\u1ea5t 1 CPU core, 2GB RAM v\u00e0 20GB dung l\u01b0\u1ee3ng \u1ed5 c\u1ee9ng SSD. C\u1ea5u h\u00ecnh n\u00e0y \u0111\u1ee7 cho c\u00e1c quy tr\u00ecnh t\u1ef1 \u0111\u1ed9ng h\u00f3a v\u1eeba v\u00e0 nh\u1ecf. V\u1edbi nhu c\u1ea7u l\u1edbn h\u01a1n, b\u1ea1n n\u00ean c\u00e2n nh\u1eafc n\u00e2ng c\u1ea5p t\u00e0i nguy\u00ean.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Cai-dat-Docker-Docker-Compose\"><\/span>C\u00e0i \u0111\u1eb7t Docker &amp; Docker Compose<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Docker l\u00e0 n\u1ec1n t\u1ea3ng container h\u00f3a, v\u00e0 Docker Compose l\u00e0 c\u00f4ng c\u1ee5 gi\u00fap \u0111\u1ecbnh ngh\u0129a v\u00e0 ch\u1ea1y c\u00e1c \u1ee9ng d\u1ee5ng Docker \u0111a container. H\u1ea7u h\u1ebft c\u00e1c nh\u00e0 cung c\u1ea5p VPS \u0111\u1ec1u c\u00f3 h\u01b0\u1edbng d\u1eabn c\u00e0i \u0111\u1eb7t Docker v\u00e0 Docker Compose tr\u00ean c\u00e1c h\u1ec7 \u0111i\u1ec1u h\u00e0nh ph\u1ed5 bi\u1ebfn nh\u01b0 Ubuntu ho\u1eb7c CentOS. B\u1ea1n c\u1ea7n \u0111\u1ea3m b\u1ea3o c\u1ea3 hai \u0111\u00e3 \u0111\u01b0\u1ee3c c\u00e0i \u0111\u1eb7t v\u00e0 ho\u1ea1t \u0111\u1ed9ng ch\u00ednh x\u00e1c tr\u00ean VPS.<\/p>\n<p>V\u00ed d\u1ee5, tr\u00ean Ubuntu, b\u1ea1n c\u00f3 th\u1ec3 c\u00e0i Docker b\u1eb1ng l\u1ec7nh: <code>sudo apt update<\/code> <code>sudo apt install docker.io<\/code> Sau \u0111\u00f3, c\u00e0i Docker Compose: <code>sudo curl -L \"https:\/\/github.com\/docker\/compose\/releases\/download\/1.29.2\/docker-compose-$(uname -s)-$(uname -m)\" -o \/usr\/local\/bin\/docker-compose<\/code> <code>sudo chmod +x \/usr\/local\/bin\/docker-compose<\/code> (L\u01b0u \u00fd: Lu\u00f4n ki\u1ec3m tra phi\u00ean b\u1ea3n Docker Compose m\u1edbi nh\u1ea5t t\u1eeb trang ch\u1ee7 Docker.)<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Kien-thuc-Docker-co-ban\"><\/span>Ki\u1ebfn th\u1ee9c Docker c\u01a1 b\u1ea3n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Hi\u1ec3u m\u1ed9t s\u1ed1 kh\u00e1i ni\u1ec7m Docker c\u1ed1t l\u00f5i s\u1ebd gi\u00fap b\u1ea1n d\u1ec5 d\u00e0ng theo d\u00f5i h\u01b0\u1edbng d\u1eabn. <strong>Image<\/strong> (\u1ea3nh Docker) l\u00e0 m\u1ed9t khu\u00f4n m\u1eabu ch\u1ec9 \u0111\u1ecdc ch\u1ee9a c\u00e1c ch\u1ec9 d\u1eabn \u0111\u1ec3 t\u1ea1o m\u1ed9t container. <strong>Container<\/strong> (b\u1ed9 ch\u1ee9a) l\u00e0 m\u1ed9t th\u1ef1c th\u1ec3 ch\u1ea1y c\u1ee7a image. <strong>Volume<\/strong> (ph\u00e2n v\u00f9ng l\u01b0u tr\u1eef) d\u00f9ng \u0111\u1ec3 l\u01b0u tr\u1eef d\u1eef li\u1ec7u c\u1ed1 \u0111\u1ecbnh cho container. <strong>Port<\/strong> (c\u1ed5ng) mapping cho ph\u00e9p truy c\u1eadp \u1ee9ng d\u1ee5ng trong container t\u1eeb b\u00ean ngo\u00e0i.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Cac-buoc-cai-dat-n8n-bang-Docker-Su-dung-Docker-Compose\"><\/span>C\u00e1c b\u01b0\u1edbc c\u00e0i \u0111\u1eb7t n8n b\u1eb1ng Docker (S\u1eed d\u1ee5ng Docker Compose)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>S\u1eed d\u1ee5ng Docker Compose l\u00e0 ph\u01b0\u01a1ng ph\u00e1p khuy\u1ebfn ngh\u1ecb \u0111\u1ec3 c\u00e0i \u0111\u1eb7t v\u00e0 qu\u1ea3n l\u00fd n8n, v\u00ec n\u00f3 cho ph\u00e9p b\u1ea1n \u0111\u1ecbnh ngh\u0129a to\u00e0n b\u1ed9 c\u1ea5u h\u00ecnh \u1ee9ng d\u1ee5ng trong m\u1ed9t file duy nh\u1ea5t, d\u1ec5 d\u00e0ng qu\u1ea3n l\u00fd v\u00e0 t\u00e1i s\u1eed d\u1ee5ng.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Cai-dat-n8n-bang-Docker-01.jpg\" alt=\"C\u00e0i \u0111\u1eb7t n8n b\u1eb1ng Docker 01\" width=\"750\" height=\"500\" class=\"aligncenter size-full wp-image-28995\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Cai-dat-n8n-bang-Docker-01.jpg 750w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Cai-dat-n8n-bang-Docker-01-300x200.jpg 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Buoc-1-Tao-thu-muc-luu-tru-cho-n8n\"><\/span>B\u01b0\u1edbc 1: T\u1ea1o th\u01b0 m\u1ee5c l\u01b0u tr\u1eef cho n8n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>D\u1eef li\u1ec7u c\u1ee7a n8n, bao g\u1ed3m c\u00e1c workflows v\u00e0 credentials, c\u1ea7n \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef c\u1ed1 \u0111\u1ecbnh ngay c\u1ea3 khi container kh\u1edfi \u0111\u1ed9ng l\u1ea1i. Ch\u00fang ta s\u1ebd t\u1ea1o m\u1ed9t th\u01b0 m\u1ee5c tr\u00ean VPS \u0111\u1ec3 Docker volume c\u00f3 th\u1ec3 \u00e1nh x\u1ea1 v\u00e0o \u0111\u00f3.<\/p>\n<p>M\u1edf terminal c\u1ee7a VPS v\u00e0 th\u1ef1c hi\u1ec7n l\u1ec7nh sau: <code>mkdir ~\/n8n-data<\/code> L\u1ec7nh n\u00e0y t\u1ea1o m\u1ed9t th\u01b0 m\u1ee5c t\u00ean l\u00e0 <code>n8n-data<\/code> trong th\u01b0 m\u1ee5c home c\u1ee7a ng\u01b0\u1eddi d\u00f9ng hi\u1ec7n t\u1ea1i. B\u1ea1n c\u00f3 th\u1ec3 ch\u1ecdn m\u1ed9t v\u1ecb tr\u00ed kh\u00e1c n\u1ebfu mu\u1ed1n.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Buoc-2-Chuan-bi-file-docker-composeyml\"><\/span>B\u01b0\u1edbc 2: Chu\u1ea9n b\u1ecb file <code>docker-compose.yml<\/code><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>File <code>docker-compose.yml<\/code> m\u00f4 t\u1ea3 c\u00e1c services, networks, v\u00e0 volumes cho \u1ee9ng d\u1ee5ng n8n. T\u1ea1o m\u1ed9t file t\u00ean l\u00e0 <code>docker-compose.yml<\/code> trong th\u01b0 m\u1ee5c b\u1ea1n mu\u1ed1n (v\u00ed d\u1ee5: <code>~\/n8n-docker<\/code>) v\u1edbi n\u1ed9i dung sau:<\/p>\n<p>YAML<\/p>\n<pre><code class=\"language-plaintext\">version: '3.8'\r\n\r\nservices:\r\n  n8n:\r\n    image: n8nio\/n8n:latest\r\n    container_name: n8n_app\r\n    restart: unless-stopped\r\n    ports:\r\n      - \"5678:5678\"\r\n    environment:\r\n      - GENERIC_TIMEZONE=Asia\/Ho_Chi_Minh\r\n      # - N8N_BASIC_AUTH_USER=your_username # B\u1ecf comment v\u00e0 thay th\u1ebf n\u1ebfu mu\u1ed1n d\u00f9ng x\u00e1c th\u1ef1c c\u01a1 b\u1ea3n\r\n      # - N8N_BASIC_AUTH_PASSWORD=your_password # B\u1ecf comment v\u00e0 thay th\u1ebf n\u1ebfu mu\u1ed1n d\u00f9ng x\u00e1c th\u1ef1c c\u01a1 b\u1ea3n\r\n      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}\r\n      - N8N_PORT=5678\r\n      - N8N_PROTOCOL=https\r\n      - NODE_ENV=production\r\n      - WEBHOOK_URL=https:\/\/${SUBDOMAIN}.${DOMAIN_NAME}\/\r\n    volumes:\r\n      - ~\/n8n-data:\/home\/node\/.n8n\r\n    # Ch\u00fa \u00fd: N\u1ebfu VPS c\u1ee7a b\u1ea1n c\u00f3 \u00edt t\u00e0i nguy\u00ean, h\u00e3y gi\u1edbi h\u1ea1n b\u1ed9 nh\u1edb cho n8n\r\n    # deploy:\r\n    #   resources:\r\n    #     limits:\r\n    #       memory: 1024M\r\n\r\nvolumes:\r\n  n8n_data_volume: # Kh\u00f4ng d\u00f9ng tr\u1ef1c ti\u1ebfp trong service n\u00e0y, nh\u01b0ng c\u00f3 th\u1ec3 d\u00f9ng n\u1ebfu mu\u1ed1n qu\u1ea3n l\u00fd volume qua Docker\r\n\r\n<\/code><\/pre>\n<p><strong>Gi\u1ea3i th\u00edch c\u00e1c tham s\u1ed1:<\/strong><\/p>\n<ul>\n<li><code>image: n8nio\/n8n:latest<\/code>: S\u1eed d\u1ee5ng image n8n m\u1edbi nh\u1ea5t t\u1eeb Docker Hub.<\/li>\n<li><code>restart: unless-stopped<\/code>: T\u1ef1 \u0111\u1ed9ng kh\u1edfi \u0111\u1ed9ng l\u1ea1i n8n container tr\u1eeb khi b\u1ea1n ch\u1ee7 \u0111\u1ed9ng d\u1eebng.<\/li>\n<li><code>ports: - \"5678:5678\"<\/code>: \u00c1nh x\u1ea1 c\u1ed5ng 5678 c\u1ee7a VPS v\u00e0o c\u1ed5ng 5678 c\u1ee7a n8n container.<\/li>\n<li><code>environment<\/code>: \u0110\u1ecbnh ngh\u0129a c\u00e1c bi\u1ebfn m\u00f4i tr\u01b0\u1eddng. <code>GENERIC_TIMEZONE<\/code> gi\u00fap n8n hi\u1ec3n th\u1ecb th\u1eddi gian ch\u00ednh x\u00e1c. C\u00e1c bi\u1ebfn <code>N8N_HOST<\/code>, <code>N8N_PORT<\/code>, <code>N8N_PROTOCOL<\/code>, <code>WEBHOOK_URL<\/code> quan tr\u1ecdng khi b\u1ea1n c\u1ea5u h\u00ecnh domain ri\u00eang v\u00e0 SSL. Thay th\u1ebf <code>${SUBDOMAIN}.${DOMAIN_NAME}<\/code> b\u1eb1ng t\u00ean mi\u1ec1n ph\u1ee5 v\u00e0 t\u00ean mi\u1ec1n c\u1ee7a b\u1ea1n.<\/li>\n<li><code>volumes: - ~\/n8n-data:\/home\/node\/.n8n<\/code>: \u00c1nh x\u1ea1 th\u01b0 m\u1ee5c <code>~\/n8n-data<\/code> tr\u00ean VPS v\u00e0o <code>\/home\/node\/.n8n<\/code> trong container, n\u01a1i n8n l\u01b0u tr\u1eef d\u1eef li\u1ec7u.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Buoc-3-Tai-n8n-image-va-khoi-chay-container\"><\/span>B\u01b0\u1edbc 3: T\u1ea3i n8n image v\u00e0 kh\u1edfi ch\u1ea1y container<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Sau khi \u0111\u00e3 c\u00f3 file <code>docker-compose.yml<\/code>, di chuy\u1ec3n v\u00e0o th\u01b0 m\u1ee5c ch\u1ee9a file n\u00e0y trong terminal v\u00e0 th\u1ef1c hi\u1ec7n l\u1ec7nh:<\/p>\n<p><code>docker-compose up -d<\/code><\/p>\n<p>L\u1ec7nh n\u00e0y s\u1ebd t\u1ef1 \u0111\u1ed9ng t\u1ea3i image n8n (n\u1ebfu ch\u01b0a c\u00f3 tr\u00ean VPS c\u1ee7a b\u1ea1n) v\u00e0 kh\u1edfi ch\u1ea1y container \u1edf ch\u1ebf \u0111\u1ed9 n\u1ec1n (<code>-d<\/code> l\u00e0 detached mode). Qu\u00e1 tr\u00ecnh t\u1ea3i image c\u00f3 th\u1ec3 m\u1ea5t v\u00e0i ph\u00fat t\u00f9y thu\u1ed9c v\u00e0o t\u1ed1c \u0111\u1ed9 m\u1ea1ng c\u1ee7a VPS.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Buoc-4-Kiem-tra-trang-thai-hoat-dong-cua-n8n\"><\/span>B\u01b0\u1edbc 4: Ki\u1ec3m tra tr\u1ea1ng th\u00e1i ho\u1ea1t \u0111\u1ed9ng c\u1ee7a n8n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0110\u1ec3 ki\u1ec3m tra xem n8n container \u0111\u00e3 ch\u1ea1y th\u00e0nh c\u00f4ng hay ch\u01b0a, b\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng c\u00e1c l\u1ec7nh sau:<\/p>\n<p><code>docker-compose ps<\/code> ho\u1eb7c <code>docker ps<\/code> L\u1ec7nh n\u00e0y s\u1ebd hi\u1ec3n th\u1ecb danh s\u00e1ch c\u00e1c container \u0111ang ch\u1ea1y. B\u1ea1n s\u1ebd th\u1ea5y container <code>n8n_app<\/code> (ho\u1eb7c t\u00ean b\u1ea1n \u0111\u1eb7t) v\u1edbi tr\u1ea1ng th\u00e1i &#8220;Up&#8221;.<\/p>\n<p>\u0110\u1ec3 xem log c\u1ee7a n8n container (h\u1eefu \u00edch cho vi\u1ec7c g\u1ee1 l\u1ed7i): <code>docker-compose logs n8n<\/code><\/p>\n<p>Sau khi x\u00e1c nh\u1eadn container \u0111\u00e3 ch\u1ea1y, b\u1ea1n c\u00f3 th\u1ec3 truy c\u1eadp n8n qua tr\u00ecnh duy\u1ec7t web b\u1eb1ng \u0111\u1ecba ch\u1ec9 IP c\u1ee7a VPS v\u00e0 c\u1ed5ng 5678: <code>http:\/\/&lt;YOUR_VPS_IP&gt;:5678<\/code>.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Cau-hinh-n8n-sau-khi-cai-dat-qua-Docker\"><\/span>C\u1ea5u h\u00ecnh n8n sau khi c\u00e0i \u0111\u1eb7t qua Docker<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Khi n8n \u0111\u00e3 kh\u1edfi ch\u1ea1y th\u00e0nh c\u00f4ng, c\u00f3 m\u1ed9t v\u00e0i b\u01b0\u1edbc c\u1ea5u h\u00ecnh ban \u0111\u1ea7u v\u00e0 t\u00f9y ch\u1ecdn n\u00e2ng cao b\u1ea1n n\u00ean xem x\u00e9t \u0111\u1ec3 t\u1ed1i \u01b0u h\u00f3a tr\u1ea3i nghi\u1ec7m s\u1eed d\u1ee5ng v\u00e0 b\u1ea3o m\u1eadt.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Truy-cap-n8n-lan-dau-va-tao-tai-khoan-admin\"><\/span>Truy c\u1eadp n8n l\u1ea7n \u0111\u1ea7u v\u00e0 t\u1ea1o t\u00e0i kho\u1ea3n admin<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>L\u1ea7n \u0111\u1ea7u ti\u00ean truy c\u1eadp n8n, b\u1ea1n s\u1ebd \u0111\u01b0\u1ee3c y\u00eau c\u1ea7u thi\u1ebft l\u1eadp t\u00e0i kho\u1ea3n qu\u1ea3n tr\u1ecb (owner account). H\u00e3y l\u00e0m theo h\u01b0\u1edbng d\u1eabn tr\u00ean m\u00e0n h\u00ecnh \u0111\u1ec3 t\u1ea1o t\u00ean ng\u01b0\u1eddi d\u00f9ng v\u00e0 m\u1eadt kh\u1ea9u m\u1ea1nh. \u0110\u00e2y l\u00e0 t\u00e0i kho\u1ea3n quan tr\u1ecdng nh\u1ea5t \u0111\u1ec3 qu\u1ea3n l\u00fd instance n8n c\u1ee7a b\u1ea1n.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Tuy-chon-Cau-hinh-Domain-va-SSL-HTTPS\"><\/span>(T\u00f9y ch\u1ecdn) C\u1ea5u h\u00ecnh Domain v\u00e0 SSL (HTTPS)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Truy c\u1eadp n8n qua \u0111\u1ecba ch\u1ec9 IP kh\u00f4ng an to\u00e0n cho m\u00f4i tr\u01b0\u1eddng s\u1ea3n xu\u1ea5t. B\u1ea1n n\u00ean s\u1eed d\u1ee5ng t\u00ean mi\u1ec1n ri\u00eang v\u00e0 c\u00e0i \u0111\u1eb7t ch\u1ee9ng ch\u1ec9 SSL (Secure Sockets Layer) \u0111\u1ec3 m\u00e3 h\u00f3a d\u1eef li\u1ec7u (HTTPS). C\u00e1ch ph\u1ed5 bi\u1ebfn l\u00e0 s\u1eed d\u1ee5ng m\u1ed9t reverse proxy nh\u01b0 Nginx, Caddy, ho\u1eb7c Nginx Proxy Manager.<\/p>\n<p>V\u00ed d\u1ee5, Nginx Proxy Manager l\u00e0 m\u1ed9t c\u00f4ng c\u1ee5 qu\u1ea3n l\u00fd reverse proxy qua giao di\u1ec7n web, d\u1ec5 s\u1eed d\u1ee5ng v\u00e0 t\u00edch h\u1ee3p s\u1eb5n Let&#8217;s Encrypt \u0111\u1ec3 c\u1ea5p SSL mi\u1ec5n ph\u00ed. B\u1ea1n c\u00f3 th\u1ec3 ch\u1ea1y Nginx Proxy Manager nh\u01b0 m\u1ed9t Docker container kh\u00e1c v\u00e0 c\u1ea5u h\u00ecnh n\u00f3 tr\u1ecf \u0111\u1ebfn container n8n c\u1ee7a b\u1ea1n.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Tuy-chon-Thiet-lap-bien-moi-truong-nang-cao\"><\/span>(T\u00f9y ch\u1ecdn) Thi\u1ebft l\u1eadp bi\u1ebfn m\u00f4i tr\u01b0\u1eddng n\u00e2ng cao<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>n8n cung c\u1ea5p nhi\u1ec1u bi\u1ebfn m\u00f4i tr\u01b0\u1eddng \u0111\u1ec3 t\u00f9y ch\u1ec9nh ho\u1ea1t \u0111\u1ed9ng. V\u00ed d\u1ee5:<\/p>\n<ul>\n<li><code>N8N_ENCRYPTION_KEY<\/code>: M\u1ed9t kh\u00f3a b\u00ed m\u1eadt \u0111\u1ec3 m\u00e3 h\u00f3a credentials. Vi\u1ec7c thi\u1ebft l\u1eadp bi\u1ebfn n\u00e0y r\u1ea5t quan tr\u1ecdng \u0111\u1ec3 t\u0103ng c\u01b0\u1eddng b\u1ea3o m\u1eadt cho c\u00e1c th\u00f4ng tin nh\u1ea1y c\u1ea3m.<\/li>\n<li><code>DB_TYPE<\/code>, <code>DB_POSTGRESDB_HOST<\/code>, etc.: N\u1ebfu b\u1ea1n mu\u1ed1n s\u1eed d\u1ee5ng m\u1ed9t c\u01a1 s\u1edf d\u1eef li\u1ec7u b\u00ean ngo\u00e0i (nh\u01b0 PostgreSQL) thay v\u00ec SQLite m\u1eb7c \u0111\u1ecbnh \u0111\u1ec3 t\u0103ng hi\u1ec7u n\u0103ng v\u00e0 kh\u1ea3 n\u0103ng m\u1edf r\u1ed9ng.<\/li>\n<li><code>WEBHOOK_URL<\/code>: C\u1ea7n thi\u1ebft l\u1eadp ch\u00ednh x\u00e1c URL n\u00e0y (v\u00ed d\u1ee5: <code>https:\/\/n8n.yourdomain.com\/<\/code>) \u0111\u1ec3 c\u00e1c webhook ho\u1ea1t \u0111\u1ed9ng \u0111\u00fang, \u0111\u1eb7c bi\u1ec7t khi n8n \u0111\u01b0\u1ee3c \u0111\u1eb7t sau reverse proxy.<\/li>\n<\/ul>\n<p>Nh\u1eefng bi\u1ebfn n\u00e0y \u0111\u01b0\u1ee3c khai b\u00e1o trong ph\u1ea7n <code>environment<\/code> c\u1ee7a file <code>docker-compose.yml<\/code>.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Luu-y-ve-persistant-data-du-lieu-co-dinh\"><\/span>L\u01b0u \u00fd v\u1ec1 persistant data (d\u1eef li\u1ec7u c\u1ed1 \u0111\u1ecbnh)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0110\u1ea3m b\u1ea3o r\u1eb1ng b\u1ea1n \u0111\u00e3 c\u1ea5u h\u00ecnh volume \u00e1nh x\u1ea1 ch\u00ednh x\u00e1c trong <code>docker-compose.yml<\/code> (<code>~\/n8n-data:\/home\/node\/.n8n<\/code>). \u0110i\u1ec1u n\u00e0y c\u1ef1c k\u1ef3 quan tr\u1ecdng v\u00ec n\u1ebfu kh\u00f4ng c\u00f3 persistent storage, t\u1ea5t c\u1ea3 workflows, credentials v\u00e0 c\u00e0i \u0111\u1eb7t c\u1ee7a b\u1ea1n s\u1ebd b\u1ecb m\u1ea5t khi container \u0111\u01b0\u1ee3c t\u1ea1o l\u1ea1i ho\u1eb7c x\u00f3a.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Cap-nhat-phien-ban-n8n-Docker\"><\/span>C\u1eadp nh\u1eadt phi\u00ean b\u1ea3n n8n Docker<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Vi\u1ec7c c\u1eadp nh\u1eadt n8n l\u00ean phi\u00ean b\u1ea3n m\u1edbi nh\u1ea5t gi\u00fap b\u1ea1n ti\u1ebfp c\u1eadn c\u00e1c t\u00ednh n\u0103ng m\u1edbi v\u00e0 b\u1ea3n v\u00e1 b\u1ea3o m\u1eadt. V\u1edbi Docker Compose, qu\u00e1 tr\u00ecnh n\u00e0y kh\u00e1 \u0111\u01a1n gi\u1ea3n.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Cac-buoc-cap-nhat-an-toan\"><\/span>C\u00e1c b\u01b0\u1edbc c\u1eadp nh\u1eadt an to\u00e0n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol>\n<li><strong>Backup d\u1eef li\u1ec7u (Quan tr\u1ecdng):<\/strong> Tr\u01b0\u1edbc khi c\u1eadp nh\u1eadt, h\u00e3y sao l\u01b0u th\u01b0 m\u1ee5c d\u1eef li\u1ec7u n8n c\u1ee7a b\u1ea1n (v\u00ed d\u1ee5 <code>~\/n8n-data<\/code>).<\/li>\n<li><strong>T\u1ea3i image m\u1edbi nh\u1ea5t:<\/strong> M\u1edf terminal, di chuy\u1ec3n \u0111\u1ebfn th\u01b0 m\u1ee5c ch\u1ee9a file <code>docker-compose.yml<\/code> v\u00e0 ch\u1ea1y l\u1ec7nh: <code>docker-compose pull n8n<\/code> L\u1ec7nh n\u00e0y s\u1ebd t\u1ea3i v\u1ec1 phi\u00ean b\u1ea3n image m\u1edbi nh\u1ea5t c\u1ee7a n8n t\u1eeb Docker Hub.<\/li>\n<li><strong>Kh\u1edfi \u0111\u1ed9ng l\u1ea1i container v\u1edbi image m\u1edbi:<\/strong> <code>docker-compose up -d --remove-orphans<\/code> L\u1ec7nh n\u00e0y s\u1ebd d\u1eebng container c\u0169, t\u1ea1o container m\u1edbi v\u1edbi image v\u1eeba t\u1ea3i v\u1ec1, v\u00e0 kh\u1edfi \u0111\u1ed9ng l\u1ea1i. <code>--remove-orphans<\/code> gi\u00fap d\u1ecdn d\u1eb9p c\u00e1c container kh\u00f4ng c\u1ea7n thi\u1ebft.<\/li>\n<\/ol>\n<p>Sau khi c\u1eadp nh\u1eadt, ki\u1ec3m tra l\u1ea1i ho\u1ea1t \u0111\u1ed9ng c\u1ee7a n8n v\u00e0 c\u00e1c workflow.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Lua-chon-VPS-toi-uu-de-chay-n8n-voi-Docker\"><\/span>L\u1ef1a ch\u1ecdn VPS t\u1ed1i \u01b0u \u0111\u1ec3 ch\u1ea1y n8n v\u1edbi Docker<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Vi\u1ec7c ch\u1ecdn m\u1ed9t nh\u00e0 cung c\u1ea5p v\u00e0 g\u00f3i VPS ph\u00f9 h\u1ee3p \u0111\u00f3ng vai tr\u00f2 quan tr\u1ecdng trong vi\u1ec7c \u0111\u1ea3m b\u1ea3o n8n ho\u1ea1t \u0111\u1ed9ng \u1ed5n \u0111\u1ecbnh, hi\u1ec7u qu\u1ea3 v\u00e0 an to\u00e0n.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Cai-dat-n8n-bang-Docker-02.jpg\" alt=\"C\u00e0i \u0111\u1eb7t n8n b\u1eb1ng Docker 02\" width=\"750\" height=\"500\" class=\"aligncenter size-full wp-image-28996\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Cai-dat-n8n-bang-Docker-02.jpg 750w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2025\/05\/Cai-dat-n8n-bang-Docker-02-300x200.jpg 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Cac-yeu-to-can-can-nhac-khi-chon-VPS-cho-n8n\"><\/span>C\u00e1c y\u1ebfu t\u1ed1 c\u1ea7n c\u00e2n nh\u1eafc khi ch\u1ecdn VPS cho n8n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Hi\u1ec7u n\u0103ng (CPU, RAM, SSD):<\/strong> n8n c\u00f3 th\u1ec3 ti\u00eau t\u1ed1n t\u00e0i nguy\u00ean t\u00f9y thu\u1ed9c v\u00e0o s\u1ed1 l\u01b0\u1ee3ng v\u00e0 \u0111\u1ed9 ph\u1ee9c t\u1ea1p c\u1ee7a workflows. \u1ed4 c\u1ee9ng SSD mang l\u1ea1i t\u1ed1c \u0111\u1ed9 truy xu\u1ea5t d\u1eef li\u1ec7u nhanh h\u01a1n \u0111\u00e1ng k\u1ec3.<\/li>\n<li><strong>Uptime:<\/strong> Ch\u1ecdn nh\u00e0 cung c\u1ea5p c\u00f3 cam k\u1ebft uptime cao (th\u01b0\u1eddng l\u00e0 99.9% tr\u1edf l\u00ean).<\/li>\n<li><strong>H\u1ed7 tr\u1ee3 Docker:<\/strong> \u0110\u1ea3m b\u1ea3o VPS h\u1ed7 tr\u1ee3 t\u1ed1t Docker v\u00e0 kh\u00f4ng c\u00f3 gi\u1edbi h\u1ea1n n\u00e0o c\u1ea3n tr\u1edf.<\/li>\n<li><strong>B\u0103ng th\u00f4ng (Bandwidth):<\/strong> N\u1ebfu workflows c\u1ee7a b\u1ea1n x\u1eed l\u00fd nhi\u1ec1u d\u1eef li\u1ec7u ho\u1eb7c c\u00f3 nhi\u1ec1u trigger t\u1eeb b\u00ean ngo\u00e0i, b\u0103ng th\u00f4ng l\u1edbn l\u00e0 c\u1ea7n thi\u1ebft.<\/li>\n<li><strong>H\u1ed7 tr\u1ee3 k\u1ef9 thu\u1eadt:<\/strong> Nh\u00e0 cung c\u1ea5p c\u00f3 \u0111\u1ed9i ng\u0169 h\u1ed7 tr\u1ee3 nhanh ch\u00f3ng, am hi\u1ec3u v\u1ec1 VPS v\u00e0 Docker l\u00e0 m\u1ed9t l\u1ee3i th\u1ebf l\u1edbn.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Tai-sao-nen-chon-VPS-InterData-cho-n8n\"><\/span>T\u1ea1i sao n\u00ean ch\u1ecdn VPS InterData cho n8n?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><a href=\"\/\"><span style=\"text-decoration: underline;\"><span style=\"color: #ff6600; text-decoration: underline;\">InterData<\/span><\/span><\/a> cung c\u1ea5p c\u00e1c gi\u1ea3i ph\u00e1p VPS \u0111\u01b0\u1ee3c t\u1ed1i \u01b0u h\u00f3a cho c\u00e1c \u1ee9ng d\u1ee5ng hi\u1ec7n \u0111\u1ea1i nh\u01b0 n8n ch\u1ea1y tr\u00ean Docker. H\u1ec7 th\u1ed1ng m\u00e1y ch\u1ee7 c\u1ee7a InterData s\u1eed d\u1ee5ng 100% \u1ed5 c\u1ee9ng SSD NVMe t\u1ed1c \u0111\u1ed9 cao, \u0111\u1ea3m b\u1ea3o hi\u1ec7u n\u0103ng v\u01b0\u1ee3t tr\u1ed9i cho c\u00e1c t\u00e1c v\u1ee5 c\u1ee7a n8n. Ch\u00fang t\u00f4i cam k\u1ebft uptime 99.9% v\u00e0 h\u1ed7 tr\u1ee3 k\u1ef9 thu\u1eadt 24\/7.<\/p>\n<p>\u0110\u1ed1i v\u1edbi vi\u1ec7c c\u00e0i \u0111\u1eb7t n8n, nhi\u1ec1u ng\u01b0\u1eddi d\u00f9ng \u01b0u ti\u00ean c\u00e1c gi\u1ea3i ph\u00e1p \u0111\u01a1n gi\u1ea3n h\u00f3a quy tr\u00ecnh. M\u1ed9t s\u1ed1 nh\u00e0 cung c\u1ea5p, nh\u01b0 InterData, cung c\u1ea5p c\u00e1c g\u00f3i <span style=\"text-decoration: underline; color: #ff6600;\"><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/interdata.vn\/vps-n8n\/\" style=\"color: #ff6600; text-decoration: underline;\">VPS n8n<\/a><\/span> v\u1edbi h\u1ec7 \u0111i\u1ec1u h\u00e0nh Ubuntu \u0111\u00e3 t\u00edch h\u1ee3p s\u1eb5n n8n, gi\u00fap vi\u1ec7c tri\u1ec3n khai ban \u0111\u1ea7u tr\u1edf n\u00ean nhanh ch\u00f3ng h\u01a1n \u0111\u00e1ng k\u1ec3.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Goi-y-cac-goi-VPS-phu-hop\"><\/span>G\u1ee3i \u00fd c\u00e1c g\u00f3i VPS ph\u00f9 h\u1ee3p<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>T\u1ea1i InterData, b\u1ea1n c\u00f3 th\u1ec3 b\u1eaft \u0111\u1ea7u v\u1edbi c\u00e1c g\u00f3i VPS Cloud c\u00f3 c\u1ea5u h\u00ecnh t\u1eeb 2GB RAM, 2 CPU Cores. \u0110\u1ed1i v\u1edbi nhu c\u1ea7u cao h\u01a1n, c\u00e1c g\u00f3i VPS Pro v\u1edbi t\u00e0i nguy\u00ean m\u1ea1nh m\u1ebd h\u01a1n s\u1ebd l\u00e0 l\u1ef1a ch\u1ecdn l\u00fd t\u01b0\u1edfng \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o n8n x\u1eed l\u00fd l\u01b0\u1ee3ng l\u1edbn workflows m\u1ed9t c\u00e1ch m\u01b0\u1ee3t m\u00e0.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Cau-hoi-thuong-gap-FAQ-khi-cai-dat-n8n-bang-Docker\"><\/span>C\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p (FAQ) khi c\u00e0i \u0111\u1eb7t n8n b\u1eb1ng Docker<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>D\u01b0\u1edbi \u0111\u00e2y l\u00e0 m\u1ed9t s\u1ed1 c\u00e2u h\u1ecfi ng\u01b0\u1eddi d\u00f9ng th\u01b0\u1eddng g\u1eb7p trong qu\u00e1 tr\u00ecnh c\u00e0i \u0111\u1eb7t v\u00e0 s\u1eed d\u1ee5ng n8n v\u1edbi Docker, c\u00f9ng v\u1edbi c\u00e2u tr\u1ea3 l\u1eddi ng\u1eafn g\u1ecdn.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Loi-port-conflict-giai-quyet-the-nao\"><\/span>L\u1ed7i port conflict gi\u1ea3i quy\u1ebft th\u1ebf n\u00e0o?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>L\u1ed7i n\u00e0y x\u1ea3y ra khi c\u1ed5ng 5678 (ho\u1eb7c c\u1ed5ng b\u1ea1n c\u1ea5u h\u00ecnh cho n8n) \u0111\u00e3 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng b\u1edfi m\u1ed9t \u1ee9ng d\u1ee5ng kh\u00e1c tr\u00ean VPS. <strong>Tr\u1ea3 l\u1eddi:<\/strong> B\u1ea1n c\u00f3 th\u1ec3 thay \u0111\u1ed5i c\u1ed5ng mapping trong file <code>docker-compose.yml<\/code>. V\u00ed d\u1ee5, \u0111\u1ed5i <code>ports: - \"5678:5678\"<\/code> th\u00e0nh <code>ports: - \"5679:5678\"<\/code>. Khi \u0111\u00f3, b\u1ea1n s\u1ebd truy c\u1eadp n8n qua c\u1ed5ng 5679.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Lam-sao-de-n8n-khoi-dong-cung-VPS\"><\/span>L\u00e0m sao \u0111\u1ec3 n8n kh\u1edfi \u0111\u1ed9ng c\u00f9ng VPS?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Khi s\u1eed d\u1ee5ng Docker Compose v\u00e0 thi\u1ebft l\u1eadp <code>restart: unless-stopped<\/code> ho\u1eb7c <code>restart: always<\/code> trong file <code>docker-compose.yml<\/code> cho service n8n, Docker s\u1ebd t\u1ef1 \u0111\u1ed9ng kh\u1edfi \u0111\u1ed9ng l\u1ea1i container n8n khi VPS kh\u1edfi \u0111\u1ed9ng ho\u1eb7c khi container b\u1ecb d\u1eebng kh\u00f4ng mong mu\u1ed1n.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"n8n-co-ton-nhieu-tai-nguyen-VPS-khong\"><\/span>n8n c\u00f3 t\u1ed1n nhi\u1ec1u t\u00e0i nguy\u00ean VPS kh\u00f4ng?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>M\u1ee9c ti\u00eau th\u1ee5 t\u00e0i nguy\u00ean c\u1ee7a n8n ph\u1ee5 thu\u1ed9c v\u00e0o s\u1ed1 l\u01b0\u1ee3ng workflows, t\u1ea7n su\u1ea5t ch\u1ea1y, v\u00e0 \u0111\u1ed9 ph\u1ee9c t\u1ea1p c\u1ee7a c\u00e1c node trong workflow. <strong>Tr\u1ea3 l\u1eddi:<\/strong> \u0110\u1ed1i v\u1edbi c\u00e1c t\u00e1c v\u1ee5 c\u01a1 b\u1ea3n, n8n kh\u00f4ng qu\u00e1 t\u1ed1n t\u00e0i nguy\u00ean. Tuy nhi\u00ean, v\u1edbi nhi\u1ec1u workflows ph\u1ee9c t\u1ea1p ch\u1ea1y song song, b\u1ea1n c\u1ea7n VPS c\u00f3 c\u1ea5u h\u00ecnh CPU v\u00e0 RAM cao h\u01a1n. Theo d\u00f5i t\u00e0i nguy\u00ean VPS th\u01b0\u1eddng xuy\u00ean l\u00e0 \u0111i\u1ec1u c\u1ea7n thi\u1ebft.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Cach-backup-du-lieu-n8n-khi-dung-Docker\"><\/span>C\u00e1ch backup d\u1eef li\u1ec7u n8n khi d\u00f9ng Docker?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>D\u1eef li\u1ec7u n8n \u0111\u01b0\u1ee3c l\u01b0u trong volume m\u00e0 b\u1ea1n \u0111\u00e3 \u00e1nh x\u1ea1 (v\u00ed d\u1ee5: <code>~\/n8n-data<\/code>). <strong>Tr\u1ea3 l\u1eddi:<\/strong> \u0110\u1ec3 backup, b\u1ea1n ch\u1ec9 c\u1ea7n sao ch\u00e9p to\u00e0n b\u1ed9 th\u01b0 m\u1ee5c n\u00e0y \u0111\u1ebfn m\u1ed9t n\u01a1i an to\u00e0n kh\u00e1c (v\u00ed d\u1ee5: \u1ed5 c\u1ee9ng ngo\u00e0i, cloud storage). N\u00ean d\u1eebng container n8n tr\u01b0\u1edbc khi th\u1ef1c hi\u1ec7n backup \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o t\u00ednh to\u00e0n v\u1eb9n d\u1eef li\u1ec7u.<\/p>\n<p>Vi\u1ec7c c\u00e0i \u0111\u1eb7t n8n b\u1eb1ng Docker tr\u00ean VPS m\u1edf ra kh\u1ea3 n\u0103ng t\u1ef1 \u0111\u1ed9ng h\u00f3a kh\u00f4ng gi\u1edbi h\u1ea1n, gi\u00fap b\u1ea1n ki\u1ec3m so\u00e1t ho\u00e0n to\u00e0n d\u1eef li\u1ec7u v\u00e0 quy tr\u00ecnh c\u1ee7a m\u00ecnh. B\u1eb1ng c\u00e1ch tu\u00e2n theo h\u01b0\u1edbng d\u1eabn n\u00e0y v\u00e0 l\u1ef1a ch\u1ecdn m\u1ed9t nh\u00e0 cung c\u1ea5p VPS uy t\u00edn nh\u01b0 InterData, b\u1ea1n \u0111\u00e3 s\u1eb5n s\u00e0ng \u0111\u1ec3 khai th\u00e1c t\u1ed1i \u0111a s\u1ee9c m\u1ea1nh c\u1ee7a n8n.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u1ef1 \u0111\u1ed9ng h\u00f3a quy tr\u00ecnh l\u00e0m vi\u1ec7c gi\u00fap doanh nghi\u1ec7p v\u00e0 c\u00e1 nh\u00e2n ti\u1ebft ki\u1ec7m th\u1eddi gian, t\u1ed1i \u01b0u h\u00f3a ngu\u1ed3n l\u1ef1c hi\u1ec7u qu\u1ea3. B\u00e0i vi\u1ebft n\u00e0y cung c\u1ea5p h\u01b0\u1edbng d\u1eabn to\u00e0n di\u1ec7n, t\u1eeb A-Z, v\u1ec1 c\u00e1ch c\u00e0i \u0111\u1eb7t n8n, m\u1ed9t c\u00f4ng c\u1ee5 t\u1ef1 \u0111\u1ed9ng h\u00f3a m\u1ea1nh m\u1ebd, b\u1eb1ng Docker tr\u00ean m\u00e1y ch\u1ee7 ri\u00eang \u1ea3o<\/p>\n","protected":false},"author":2,"featured_media":28997,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[148],"tags":[],"class_list":["post-28993","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kien-thuc-n8n"],"_links":{"self":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/28993","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=28993"}],"version-history":[{"count":3,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/28993\/revisions"}],"predecessor-version":[{"id":28999,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/28993\/revisions\/28999"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/media\/28997"}],"wp:attachment":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/media?parent=28993"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/categories?post=28993"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/tags?post=28993"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}