{"id":108451,"date":"2025-05-11T01:31:14","date_gmt":"2025-05-10T22:01:14","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/novu-%d8%b1%d8%a7-%d8%b1%d9%88%db%8c-%db%8c%da%a9-%d8%af%d8%b3%d8%aa%da%af%d8%a7%d9%87-%d9%85%d8%ad%d9%84%db%8c-%d8%a7%d8%ac%d8%b1%d8%a7-%da%a9%d9%86%db%8c%d8%af\/"},"modified":"2025-05-11T01:31:14","modified_gmt":"2025-05-10T22:01:14","slug":"novu-%d8%b1%d8%a7-%d8%b1%d9%88%db%8c-%db%8c%da%a9-%d8%af%d8%b3%d8%aa%da%af%d8%a7%d9%87-%d9%85%d8%ad%d9%84%db%8c-%d8%a7%d8%ac%d8%b1%d8%a7-%da%a9%d9%86%db%8c%d8%af","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/novu-%d8%b1%d8%a7-%d8%b1%d9%88%db%8c-%db%8c%da%a9-%d8%af%d8%b3%d8%aa%da%af%d8%a7%d9%87-%d9%85%d8%ad%d9%84%db%8c-%d8%a7%d8%ac%d8%b1%d8%a7-%da%a9%d9%86%db%8c%d8%af\/","title":{"rendered":"Novu \u0631\u0627 \u0631\u0648\u06cc \u06cc\u06a9 \u062f\u0633\u062a\u06af\u0627\u0647 \u0645\u062d\u0644\u06cc \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f"},"content":{"rendered":"<div data-article-id=\"2411960\" id=\"article-body\">\n<p>\u0647\u0631 \u0645\u062d\u0635\u0648\u0644 \u062e\u0648\u0628 \u0627\u06cc\u0646 \u0631\u0648\u0632\u0647\u0627 \u0628\u0627\u06cc\u062f \u0631\u0627\u0647\u06cc \u0628\u0631\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u0627\u0639\u0644\u0627\u0646 \u0647\u0627 \u0628\u0647 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u062f\u0631 \u06a9\u0627\u0646\u0627\u0644 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0645\u0647\u0646\u062f\u0633 \u060c \u0633\u0627\u062e\u062a\u0645\u0627\u0646 \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u06cc\u06a9 \u062a\u0644\u0627\u0634 \u0648\u0642\u062a \u06af\u06cc\u0631 \u0628\u0627\u0634\u062f \u060c \u0628\u0647 \u062e\u0635\u0648\u0635 \u0627\u06af\u0631 \u0633\u0646\u0627\u0631\u06cc\u0648\u0647\u0627\u06cc \u067e\u06cc\u0686\u06cc\u062f\u0647 \u0648 \u06a9\u0627\u0646\u0627\u0644 \u0647\u0627\u06cc \u0627\u0637\u0644\u0627\u0639 \u0631\u0633\u0627\u0646\u06cc \u0686\u0646\u062f\u06af\u0627\u0646\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u060c \u0645\u0627 \u0645\u06cc \u0622\u0645\u0648\u0632\u06cc\u0645 \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 Novu \u060c \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u0627\u0637\u0644\u0627\u0639 \u0631\u0633\u0627\u0646\u06cc \u0645\u0646\u0628\u0639 \u0628\u0627\u0632 \u0631\u0627 \u0628\u0631\u0627\u06cc \u062d\u0644 \u0627\u06cc\u0646 \u0645\u0634\u06a9\u0644 \u0645\u0633\u062a\u0642\u0631 \u06a9\u0646\u06cc\u0645.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/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=\"\u062a\u063a\u06cc\u06cc\u0631 \u0648\u0636\u0639\u06cc\u062a \u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628\"><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 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/novu-%d8%b1%d8%a7-%d8%b1%d9%88%db%8c-%db%8c%da%a9-%d8%af%d8%b3%d8%aa%da%af%d8%a7%d9%87-%d9%85%d8%ad%d9%84%db%8c-%d8%a7%d8%ac%d8%b1%d8%a7-%da%a9%d9%86%db%8c%d8%af\/#novu_%DA%86%DB%8C%D8%B3%D8%AA%D8%9F\" >novu \u0686\u06cc\u0633\u062a\u061f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/novu-%d8%b1%d8%a7-%d8%b1%d9%88%db%8c-%db%8c%da%a9-%d8%af%d8%b3%d8%aa%da%af%d8%a7%d9%87-%d9%85%d8%ad%d9%84%db%8c-%d8%a7%d8%ac%d8%b1%d8%a7-%da%a9%d9%86%db%8c%d8%af\/#%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_docker\" >\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 docker<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/novu-%d8%b1%d8%a7-%d8%b1%d9%88%db%8c-%db%8c%da%a9-%d8%af%d8%b3%d8%aa%da%af%d8%a7%d9%87-%d9%85%d8%ad%d9%84%db%8c-%d8%a7%d8%ac%d8%b1%d8%a7-%da%a9%d9%86%db%8c%d8%af\/#%D8%AA%D9%86%D8%B8%DB%8C%D9%85_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_Bridge_%D9%88_%D8%A7%D8%B3%D8%AA%D9%88%D8%AF%DB%8C%D9%88%DB%8C_%D9%85%D8%AD%D9%84%DB%8C\" >\u062a\u0646\u0638\u06cc\u0645 \u0628\u0631\u0646\u0627\u0645\u0647 Bridge \u0648 \u0627\u0633\u062a\u0648\u062f\u06cc\u0648\u06cc \u0645\u062d\u0644\u06cc<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/novu-%d8%b1%d8%a7-%d8%b1%d9%88%db%8c-%db%8c%da%a9-%d8%af%d8%b3%d8%aa%da%af%d8%a7%d9%87-%d9%85%d8%ad%d9%84%db%8c-%d8%a7%d8%ac%d8%b1%d8%a7-%da%a9%d9%86%db%8c%d8%af\/#%D8%AA%D9%86%D8%B8%DB%8C%D9%85_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_Bridge\" >\u062a\u0646\u0638\u06cc\u0645 \u0628\u0631\u0646\u0627\u0645\u0647 Bridge<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/novu-%d8%b1%d8%a7-%d8%b1%d9%88%db%8c-%db%8c%da%a9-%d8%af%d8%b3%d8%aa%da%af%d8%a7%d9%87-%d9%85%d8%ad%d9%84%db%8c-%d8%a7%d8%ac%d8%b1%d8%a7-%da%a9%d9%86%db%8c%d8%af\/#%D8%A8%D8%A7_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_URL_Application_Bridge_%D8%A8%D9%87_%D8%B9%D9%86%D9%88%D8%A7%D9%86_URL_Bridge\" >\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 URL Application Bridge \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 URL Bridge<\/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:\/\/nabfollower.com\/blog\/novu-%d8%b1%d8%a7-%d8%b1%d9%88%db%8c-%db%8c%da%a9-%d8%af%d8%b3%d8%aa%da%af%d8%a7%d9%87-%d9%85%d8%ad%d9%84%db%8c-%d8%a7%d8%ac%d8%b1%d8%a7-%da%a9%d9%86%db%8c%d8%af\/#%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_%D8%A7%D8%B3%D8%AA%D9%88%D8%AF%DB%8C%D9%88%DB%8C_%D9%85%D8%AD%D9%84%DB%8C_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%AF%D8%B1%D8%AF%D8%B4_%DA%A9%D8%A7%D8%B1\" >\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0633\u062a\u0648\u062f\u06cc\u0648\u06cc \u0645\u062d\u0644\u06cc \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631<\/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:\/\/nabfollower.com\/blog\/novu-%d8%b1%d8%a7-%d8%b1%d9%88%db%8c-%db%8c%da%a9-%d8%af%d8%b3%d8%aa%da%af%d8%a7%d9%87-%d9%85%d8%ad%d9%84%db%8c-%d8%a7%d8%ac%d8%b1%d8%a7-%da%a9%d9%86%db%8c%d8%af\/#%D9%87%D9%85%DA%AF%D8%A7%D9%85_%D8%B3%D8%A7%D8%B2%DB%8C_%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1%D8%A7%D8%AA_%D8%A7%D8%B2_%D8%A7%D8%B3%D8%AA%D9%88%D8%AF%DB%8C%D9%88%DB%8C_%D9%85%D8%AD%D9%84%DB%8C_%D8%A8%D9%87_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_NOVU\" >\u0647\u0645\u06af\u0627\u0645 \u0633\u0627\u0632\u06cc \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0627\u0632 \u0627\u0633\u062a\u0648\u062f\u06cc\u0648\u06cc \u0645\u062d\u0644\u06cc \u0628\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 NOVU<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/novu-%d8%b1%d8%a7-%d8%b1%d9%88%db%8c-%db%8c%da%a9-%d8%af%d8%b3%d8%aa%da%af%d8%a7%d9%87-%d9%85%d8%ad%d9%84%db%8c-%d8%a7%d8%ac%d8%b1%d8%a7-%da%a9%d9%86%db%8c%d8%af\/#%D8%AA%D8%B1%D9%88%DB%8C%D8%AC_%DA%AF%D8%B1%D8%AF%D8%B4_%DA%A9%D8%A7%D8%B1_%D8%A7%D8%B2_%D8%AA%D9%88%D8%B3%D8%B9%D9%87_%D8%AA%D8%A7_%D8%AA%D9%88%D9%84%DB%8C%D8%AF\" >\u062a\u0631\u0648\u06cc\u062c \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u0627\u0632 \u062a\u0648\u0633\u0639\u0647 \u062a\u0627 \u062a\u0648\u0644\u06cc\u062f<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/novu-%d8%b1%d8%a7-%d8%b1%d9%88%db%8c-%db%8c%da%a9-%d8%af%d8%b3%d8%aa%da%af%d8%a7%d9%87-%d9%85%d8%ad%d9%84%db%8c-%d8%a7%d8%ac%d8%b1%d8%a7-%da%a9%d9%86%db%8c%d8%af\/#%D9%BE%D8%A7%DB%8C%D8%A7%D9%86\" >\u067e\u0627\u06cc\u0627\u0646<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nabfollower.com\/blog\/novu-%d8%b1%d8%a7-%d8%b1%d9%88%db%8c-%db%8c%da%a9-%d8%af%d8%b3%d8%aa%da%af%d8%a7%d9%87-%d9%85%d8%ad%d9%84%db%8c-%d8%a7%d8%ac%d8%b1%d8%a7-%da%a9%d9%86%db%8c%d8%af\/#%D9%85%D9%86%D8%A7%D8%A8%D8%B9\" >\u0645\u0646\u0627\u0628\u0639<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/nabfollower.com\/blog\/novu-%d8%b1%d8%a7-%d8%b1%d9%88%db%8c-%db%8c%da%a9-%d8%af%d8%b3%d8%aa%da%af%d8%a7%d9%87-%d9%85%d8%ad%d9%84%db%8c-%d8%a7%d8%ac%d8%b1%d8%a7-%da%a9%d9%86%db%8c%d8%af\/#%D9%84%DB%8C%D8%B3%D8%AA_URL_%D9%87%D8%A7\" >\u0644\u06cc\u0633\u062a URL \u0647\u0627:<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"novu_%DA%86%DB%8C%D8%B3%D8%AA%D8%9F\"><\/span>\n<p>  novu \u0686\u06cc\u0633\u062a\u061f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>NOVU \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u0627\u0639\u0644\u0627\u0646 \u0645\u0646\u0628\u0639 \u0628\u0627\u0632 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u0627\u0639\u0644\u0627\u0646 \u0647\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0686\u0646\u062f\u06cc\u0646 \u06a9\u0627\u0646\u0627\u0644 \u0645\u0627\u0646\u0646\u062f \u06af\u067e \u060c \u0627\u06cc\u0645\u06cc\u0644 \u060c \u067e\u06cc\u0627\u0645 \u06a9\u0648\u062a\u0627\u0647 \u060c \u062f\u0631\u0648\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0648 \u0641\u0634\u0627\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p>\u06cc\u06a9\u06cc \u0627\u0632 \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc \u0639\u0627\u0644\u06cc NOVU \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0627\u0641\u0631\u0627\u062f \u063a\u06cc\u0631 \u0641\u0646\u06cc \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u0627\u0639\u0644\u0627\u0646 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u0646\u062f. \u0627\u06cc\u0646 \u0628\u062f\u0627\u0646 \u0645\u0639\u0646\u0627\u0633\u062a \u06a9\u0647 \u062a\u06cc\u0645 \u0645\u0647\u0646\u062f\u0633\u06cc \u0628\u0627 \u0647\u0645\u06cc\u0634\u0647 \u062f\u0631 \u0635\u0648\u0631\u062a \u0644\u0632\u0648\u0645 \u06a9\u0648\u0686\u06a9\u062a\u0631\u06cc\u0646 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0631\u0627 \u062f\u0686\u0627\u0631 \u0645\u0634\u06a9\u0644 \u0646\u0645\u06cc \u06a9\u0646\u062f. <\/p>\n<p>\u06cc\u06a9\u06cc \u062f\u06cc\u06af\u0631 \u0627\u0632 \u0648\u06cc\u0698\u06af\u06cc \u0647\u0627\u06cc \u0639\u0627\u0644\u06cc Novu \u0627\u06cc\u0646 \u0627\u0633\u062a <code><inbox\/><\/code> \u0645\u0624\u0644\u0641\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u0648\u0628 \u06a9\u0647 \u0627\u0639\u0644\u0627\u0646 \u0647\u0627\u06cc \u0632\u0645\u0627\u0646 \u0648\u0627\u0642\u0639\u06cc \u0631\u0627 \u0627\u0645\u06a9\u0627\u0646 \u067e\u0630\u06cc\u0631 \u0645\u06cc \u06a9\u0646\u062f. \u0628\u0627 \u0686\u0646\u062f \u062e\u0637 \u06a9\u062f \u060c \u06cc\u06a9 \u0635\u0646\u062f\u0648\u0642 \u0648\u0631\u0648\u062f\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u062f\u0631 \u0632\u0645\u0627\u0646 \u0648\u0627\u0642\u0639\u06cc \u0648 \u0648\u0627\u06a9\u0646\u0634\u06cc \u0627\u0633\u062a.<\/p>\n<p>\u0633\u0627\u062f\u0647 \u062a\u0631\u06cc\u0646 \u0631\u0627\u0647 \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 NOVU \u060c \u062b\u0628\u062a \u0646\u0627\u0645 \u062f\u0631 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0648 \u0634\u0631\u0648\u0639 \u0628\u0647 \u0627\u062f\u063a\u0627\u0645 \u0628\u0644\u0627\u0641\u0627\u0635\u0644\u0647 \u0627\u0633\u062a.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u06a9\u0646\u062a\u0631\u0644 \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631 \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0648 \u062f\u0627\u062f\u0647 \u0647\u0627 \u060c \u0627\u062c\u0627\u0632\u0647 \u062f\u0647\u06cc\u062f \u0646\u0633\u062e\u0647 \u062e\u0648\u062f \u0631\u0627 \u0627\u0632 Novu \u0645\u0633\u062a\u0642\u0631 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_docker\"><\/span>\n<p>  \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 docker<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u06cc\u0646 \u067e\u0633\u062a \u0628\u0631\u0627\u06cc \u062a\u06a9\u0645\u06cc\u0644 \u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0631\u0633\u0645\u06cc NOVU \u060c \u0627\u0632 \u062c\u0645\u0644\u0647 \u0628\u0631\u062e\u06cc \u0627\u0632 \u0646\u06a9\u0627\u062a \u0648 \u062a\u0631\u0641\u0646\u062f\u0647\u0627 \u0628\u0631\u0627\u06cc \u0622\u0633\u0627\u0646\u062a\u0631 \u06a9\u0631\u062f\u0646 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062f\u0631 \u06cc\u06a9 \u062f\u0633\u062a\u06af\u0627\u0647 \u0645\u062d\u0644\u06cc \u0627\u0633\u062a.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0627\u0632 Windows OS \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0645\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f \u060c \u0627\u0645\u0627 \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0628\u0631\u0627\u06cc \u0644\u06cc\u0646\u0648\u06a9\u0633 \u06cc\u06a9\u0633\u0627\u0646 \u0647\u0633\u062a\u0646\u062f \u060c \u0628\u0627 \u0628\u0631\u062e\u06cc \u0627\u0635\u0644\u0627\u062d\u0627\u062a \u062c\u0632\u0626\u06cc.<\/p>\n<p>\u0627\u0628\u062a\u062f\u0627 \u0628\u0627\u06cc\u062f \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u06a9\u0646\u06cc\u0645 \u06a9\u0647 Docker \u0648 Docker Compose \u0646\u0635\u0628 \u0634\u062f\u0647 \u0627\u0646\u062f.<\/p>\n<p>\u0628\u0639\u062f \u060c \u0628\u06cc\u0627\u06cc\u06cc\u062f \u06a9\u062f \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u0628\u06a9\u0634\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"o\">&gt;<\/span> git clone <span class=\"nt\">--depth<\/span> 1 https:\/\/github.com\/novuhq\/novu\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0627\u0632 \u06a9\u0646\u06cc\u0645 <code>docker\/community<\/code> \u067e\u0648\u0634\u0647 \u0648 \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u06a9\u067e\u06cc \u0627\u0632 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u06cc\u0637 \u067e\u06cc\u0634 \u0641\u0631\u0636:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"o\">&gt;<\/span> <span class=\"nb\">cd <\/span>novu\/docker\/community\n\n<span class=\"o\">&gt;<\/span> copy .env.example .env\n<span class=\"c\"># For Linux, use cp instead of copy<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u0646 \u06cc\u06a9 \u0646\u0633\u062e\u0647 \u0627\u0632 <code>.env.example<\/code> \u0648 \u0622\u0646 \u0631\u0627 \u062f\u0631 <code>.env<\/code> \u067e\u0631\u0648\u0646\u062f\u0647<\/p>\n<p>\u0645\u0627 \u0628\u0627\u06cc\u062f \u0628\u0631\u062e\u06cc \u0627\u0632 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0631\u0627 \u062f\u0631 \u062e\u0648\u062f \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u0645 <code>.env<\/code> \u067e\u0631\u0648\u0646\u062f\u0647 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0645\u0646 \u062a\u0631 \u0634\u062f\u0646 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0645\u0627. \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0632\u06cc\u0631 \u0628\u0627\u06cc\u062f \u062a\u063a\u06cc\u06cc\u0631 \u06cc\u0627\u0628\u062f:<br \/><code>JWT_SECRET<\/code><br \/><code>STORE_ENCRYPTION_KEY<\/code>  \u0628\u0627\u06cc\u062f 32 \u06a9\u0627\u0631\u0627\u06a9\u062a\u0631 \u0637\u0648\u0644 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f.<br \/><code>NOVU_SECRET_KEY<\/code><br \/><code>MONGO_INITDB_ROOT_USERNAME<\/code><br \/><code>MONGO_INITDB_ROOT_PASSWORD<\/code><\/p>\n<p>\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0632 <code>Guid<\/code> \u0628\u0631\u0627\u06cc \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc \u0645\u062e\u0641\u06cc \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0627\u0632 PowerShell \u0628\u0631\u0627\u06cc \u062a\u0648\u0644\u06cc\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645 <code>Guid<\/code>:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>PS&gt; New-Guid\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 32 \u06a9\u0627\u0631\u0627\u06a9\u062a\u0631 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u062f <code>Guid<\/code> \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u0627 \u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u0647 \u0647\u0645\u0627\u0646 \u0627\u0646\u062f\u0627\u0632\u0647 \u06a9\u0647 \u0628\u0631\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062e\u0648\u062f \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u0645 \u062a\u0648\u0644\u06cc\u062f \u06a9\u0646\u06cc\u0645. <br \/><strong>\u0628\u0631\u0627\u06cc <code>STORE_ENCRYPTION_KEY<\/code>\u060c \u0645\u0627 \u0628\u0627\u06cc\u062f \u062f\u0627\u0634\u0647\u0627 (-) \u0631\u0627 \u0627\u0632 \u062a\u0648\u0644\u06cc\u062f\u0627\u062a \u062e\u0627\u0631\u062c \u06a9\u0646\u06cc\u0645 <code>Guid<\/code><\/strong>\u0628\u0634\u0631<\/p>\n<p>\u067e\u0633 \u0627\u0632 \u062a\u0646\u0638\u06cc\u0645 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u062e\u0648\u062f \u060c \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0634\u0631\u0648\u0639 \u0628\u0647 \u0627\u062c\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u062f\u0631 Docker Mode Setached \u06a9\u0646\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"o\">&gt;<\/span> docker compose up <span class=\"nt\">-d<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06af\u0631 \u060c \u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0627\u0633\u062a <code>docker compose<\/code>\u060c \u0645\u0627 \u062e\u0637\u0627\u06cc\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u067e\u0648\u0631\u062a \u062f\u0631 \u062d\u0627\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0633\u062a \u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u062f\u0631 \u06cc\u06a9 \u062f\u0631\u06af\u0627\u0647 \u0645\u062a\u0641\u0627\u0648\u062a \u062f\u0631 \u062e\u0648\u062f \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u0645 <code>.env<\/code> \u067e\u0631\u0648\u0646\u062f\u0647<\/p>\n<p>\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644 \u060c \u0627\u06af\u0631 \u062e\u0637\u0627\u06cc\u06cc \u0631\u0627 \u06a9\u0647 \u067e\u0648\u0631\u062a 3000 \u062f\u0631 \u062d\u0627\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0633\u062a \u060c \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u0645 \u060c \u0628\u0627\u06cc\u062f \u0647\u0645\u0647 \u0645\u0646\u0627\u0628\u0639 \u0631\u0627 \u0628\u0647 \u067e\u0648\u0631\u062a 3000 \u062f\u0631 \u067e\u0631\u0648\u0646\u062f\u0647 .env \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u0645. \u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0622\u0646 \u0631\u0627 \u0628\u0647 3001 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u0645.<\/p>\n<p>\u0633\u067e\u0633 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u062f\u0631 http: \/\/ localhost: 4200 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u0645 \u060c \u06cc\u06a9 \u062d\u0633\u0627\u0628 \u06a9\u0627\u0631\u0628\u0631\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f \u060c \u0648\u0627\u0631\u062f \u0634\u0648\u06cc\u062f \u0648 \u067e\u0631\u062f\u0627\u0632\u0646\u062f\u0647 \u0631\u0627 \u062a\u06a9\u0645\u06cc\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u067e\u06cc\u0631\u0648\u06cc \u0627\u0632 \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644 \u0647\u0627\u06cc \u0631\u0648\u06cc \u0635\u0641\u062d\u0647 \u0645\u0646\u062c\u0631 \u0628\u0647 \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u062d\u0633\u0627\u0628 \u06a9\u0627\u0631\u0628\u0631\u06cc \u062f\u0631 Novu \u062e\u0648\u0627\u0647\u062f \u0634\u062f \u06a9\u0647 \u0639\u0627\u0644\u06cc \u0627\u0633\u062a. \u062f\u0631 \u0645\u0648\u0631\u062f \u0645\u0627 \u060c \u0645\u0627 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u062a\u0645\u0627\u0645 \u062e\u062f\u0645\u0627\u062a \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062d\u0644\u06cc \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u0645.<\/p>\n<p><strong>\u0627\u06af\u0631 \u067e\u0633 \u0627\u0632 \u0633\u0648\u0627\u0631 \u0634\u062f\u0646 \u060c \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0647 \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u0647\u062f\u0627\u06cc\u062a \u0646\u0634\u0648\u062f \u060c \u0645\u0627 \u0627\u0632 http: \/\/ localhost: 4200\/\u06af\u0631\u062f\u0634 \u06a9\u0627\u0631\/\u0627\u06cc\u062c\u0627\u062f \u0628\u0631\u0627\u06cc \u062d\u0631\u06a9\u062a \u0628\u0647 \u0635\u0641\u062d\u0647 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u062c\u062f\u06cc\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/strong><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%AA%D9%86%D8%B8%DB%8C%D9%85_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_Bridge_%D9%88_%D8%A7%D8%B3%D8%AA%D9%88%D8%AF%DB%8C%D9%88%DB%8C_%D9%85%D8%AD%D9%84%DB%8C\"><\/span>\n<p>  \u062a\u0646\u0638\u06cc\u0645 \u0628\u0631\u0646\u0627\u0645\u0647 Bridge \u0648 \u0627\u0633\u062a\u0648\u062f\u06cc\u0648\u06cc \u0645\u062d\u0644\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u067e\u0633 \u0627\u0632 \u0633\u0648\u0627\u0631 \u0634\u062f\u0646 \u060c \u0645\u0627 \u0628\u0627\u06cc\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u067e\u0644 \u0648 \u0627\u0633\u062a\u0648\u062f\u06cc\u0648\u06cc \u0645\u062d\u0644\u06cc \u062e\u0648\u062f \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u0645.<\/p>\n<p>\u0628\u0631\u0646\u0627\u0645\u0647 Bridge \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u06cc \u0627\u0633\u062a \u06a9\u0647 \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u062f\u0631 \u0622\u0646 \u0646\u0648\u0634\u062a\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a. \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u062a\u0639\u0627\u0631\u06cc\u0641\u06cc \u0627\u0632 \u0646\u062d\u0648\u0647 \u067e\u0631\u062f\u0627\u0632\u0634 \u0627\u0639\u0644\u0627\u0646 \u0647\u0627 \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u062f.<\/p>\n<p>\u0627\u0633\u062a\u0648\u062f\u06cc\u0648\u06cc \u0645\u062d\u0644\u06cc \u0631\u0627\u0647\u06cc \u0628\u0631\u0627\u06cc \u062a\u0639\u0631\u06cc\u0641 \u062c\u0631\u06cc\u0627\u0646 \u06a9\u0627\u0631 \u062f\u0642\u06cc\u0642 \u0628\u0647 \u0635\u0648\u0631\u062a \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u06cc \u06cc\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0648\u06cc\u0631\u0627\u06cc\u0634\u06af\u0631 \u0628\u0635\u0631\u06cc \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0627\u0645\u0631 \u0628\u0627\u0639\u062b \u0645\u06cc \u0634\u0648\u062f \u062a\u0627 \u0642\u0628\u0644 \u0627\u0632 \u0627\u0646\u062a\u0642\u0627\u0644 \u0622\u0646\u0647\u0627 \u0628\u0647 \u062a\u0648\u0644\u06cc\u062f \u060c \u062a\u0639\u0631\u06cc\u0641 \u060c \u0622\u0632\u0645\u0627\u06cc\u0634 \u0648 \u0627\u0635\u0644\u0627\u062d \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u0631\u0627 \u0622\u0633\u0627\u0646 \u06a9\u0646\u06cc\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AA%D9%86%D8%B8%DB%8C%D9%85_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_Bridge\"><\/span>\n<p>  \u062a\u0646\u0638\u06cc\u0645 \u0628\u0631\u0646\u0627\u0645\u0647 Bridge<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0631\u0627\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0633\u0627\u0632\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 Bridge \u0645\u0627 \u060c \u0627\u0628\u062a\u062f\u0627 \u0628\u0627\u06cc\u062f \u06cc\u06a9 \u06a9\u0644\u06cc\u062f API \u0631\u0627 \u0627\u0632 \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u0645. \u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u06a9\u0644\u06cc\u062f API \u062e\u0648\u062f \u0631\u0627 \u0627\u0632 \u062f\u0627\u0634\u0628\u0648\u0631\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u062e\u0648\u062f \u06cc\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 url http: \/\/ localhost: 4200\/api-keys \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u0645.<\/p>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0631\u0646\u0627\u0645\u0647 Bridge \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"o\">&gt;<\/span> npx novu@latest init <span class=\"nt\">--secret-key<\/span><span class=\"o\">=<\/span><secret key=\"\"> <span class=\"nt\">--api-url<\/span><span class=\"o\">=<\/span><api-url>\n<\/api-url><\/secret><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u060c <code><secret key=\"\"\/><\/code> \u06a9\u0644\u06cc\u062f API \u0627\u0633\u062a \u06a9\u0647 \u0645\u0627 \u0627\u0632 \u062f\u0627\u0634\u0628\u0648\u0631\u062f \u062e\u0648\u062f \u0645\u06cc \u06af\u06cc\u0631\u06cc\u0645. \u062f\u0631 <code><api-url\/><\/code> URL API \u0645\u0633\u062a\u0642\u0631 \u0627\u0633\u062a \u060c \u0627\u0632 \u062c\u0645\u0644\u0647 \u0634\u0645\u0627\u0631\u0647 \u067e\u0648\u0631\u062a \u0645\u0637\u0627\u0628\u0642 \u062a\u0639\u0631\u06cc\u0641 <code>API_ROOT_URL<\/code> \u062f\u0631 \u067e\u0631\u0648\u0646\u062f\u0647 .env \u0645\u0627. \u062f\u0631 \u0627\u06cc\u0646 \u062d\u0627\u0644\u062a \u060c http: \/\/ localhost: 3000.<\/p>\n<p>\u0633\u067e\u0633 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0647\u0627 \u0631\u0627 \u0646\u0635\u0628 \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u0648 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc \u06a9\u0646\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"o\">&gt;<\/span> npm <span class=\"nb\">install<\/span>\n\n<span class=\"c\"># Run the bridge application<\/span>\n<span class=\"o\">&gt;<\/span> npm run dev\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u067e\u0644 \u0645\u0627 \u062f\u0631 \u062d\u0627\u0644 \u06a9\u0627\u0631 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 url http: \/\/ localhost: 4000\/api\/novu \u0627\u0633\u062a. \u0645\u0627 \u0628\u0627\u06cc\u062f \u06cc\u06a9 \u067e\u0627\u0633\u062e JSON \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0646\u0634\u0627\u0646 \u062f\u0647\u062f \u0633\u0631\u0648\u0631 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0627\u0633\u062a:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"p\">{<\/span>\n  <span class=\"dl\">\"<\/span><span class=\"s2\">status<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">ok<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n  <span class=\"dl\">\"<\/span><span class=\"s2\">sdkVersion<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">2.6.6<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n  <span class=\"dl\">\"<\/span><span class=\"s2\">frameworkVersion<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">2024-06-26<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n  <span class=\"dl\">\"<\/span><span class=\"s2\">discovered<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"p\">{<\/span>\n    <span class=\"dl\">\"<\/span><span class=\"s2\">workflows<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"mi\">1<\/span><span class=\"p\">,<\/span>\n    <span class=\"dl\">\"<\/span><span class=\"s2\">steps<\/span><span class=\"dl\">\"<\/span><span class=\"p\">:<\/span> <span class=\"mi\">2<\/span>\n  <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D8%A8%D8%A7_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_URL_Application_Bridge_%D8%A8%D9%87_%D8%B9%D9%86%D9%88%D8%A7%D9%86_URL_Bridge\"><\/span>\n<p>  \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 URL Application Bridge \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 URL Bridge<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0645\u0627 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0628\u0627\u06cc\u062f \u0628\u0647 \u062c\u0627\u06cc \u0622\u0646 \u060c \u0627\u0632 URL Bridge \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u062a\u0648\u0646\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645.<\/p>\n<p>\u062f\u0631 \u0635\u0648\u0631\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0644\u06cc\u0646\u0648\u06a9\u0633 \u060c \u0641\u0642\u0637 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"o\">&gt;<\/span> npx novu@latest dev <span class=\"nt\">-d<\/span> <application_url> <span class=\"nt\">-p<\/span> <bridge_application_port>\n<\/bridge_application_port><\/application_url><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u062d\u0627\u0644\u062a \u060c <code><application_url\/><\/code> http: \/\/ localhost: 4200 \u0648 <code><bridge_application_port\/><\/code> 4000 \u0627\u0633\u062a<\/p>\n<p>\u0627\u0645\u0627 \u0627\u0632 \u0622\u0646\u062c\u0627 \u06a9\u0647 \u0645\u0627 \u0627\u0632 \u0648\u06cc\u0646\u062f\u0648\u0632 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u060c \u0628\u0627\u06cc\u062f \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a\u06cc \u062f\u0631 \u062e\u0648\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645 <code>docker-compose.yml<\/code> \u067e\u0631\u0648\u0646\u062f\u0647 \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 NOVU \u0645\u0627.<\/p>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0646\u0645\u0648\u0646\u0647 Docker \u062e\u0648\u062f \u0631\u0627 \u0645\u062a\u0648\u0642\u0641 \u06a9\u0646\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"o\">&gt;<\/span> docker compose down\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0633\u067e\u0633 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u0647\u0631 \u0633\u0631\u0648\u06cc\u0633 \u062f\u0631 \u0645\u0627 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645 <code>docker-compose.yml<\/code> \u067e\u0631\u0648\u0646\u062f\u0647:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight yaml\"><code><span class=\"na\">extra_hosts<\/span><span class=\"pi\">:<\/span>\n    <span class=\"pi\">-<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">host.docker.internal:host-gateway\"<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0645\u0627 \u0628\u0627\u06cc\u062f \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0631\u0627 \u0628\u0647 <code>api<\/code>\u0628\u0627 <code>web<\/code>\u0628\u0627 <code>worker<\/code>\u0648\u062a <code>ws<\/code> \u062e\u062f\u0645\u0627\u062a \u062f\u0631 <code>docker-compose.yml<\/code> \u067e\u0631\u0648\u0646\u062f\u0647:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight yaml\"><code><span class=\"c1\">#code omitted for brevity<\/span>\n<span class=\"na\">web<\/span><span class=\"pi\">:<\/span>\n    <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s1\">'<\/span><span class=\"s\">ghcr.io\/novuhq\/novu\/web:2.1.1'<\/span>\n    <span class=\"na\">depends_on<\/span><span class=\"pi\">:<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s\">api<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s\">worker<\/span>\n    <span class=\"na\">container_name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">web<\/span>\n    <span class=\"na\">restart<\/span><span class=\"pi\">:<\/span> <span class=\"s\">unless-stopped<\/span>\n    <span class=\"na\">logging<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">driver<\/span><span class=\"pi\">:<\/span> <span class=\"s1\">'<\/span><span class=\"s\">json-file'<\/span>\n      <span class=\"na\">options<\/span><span class=\"pi\">:<\/span>\n        <span class=\"na\">max-size<\/span><span class=\"pi\">:<\/span> <span class=\"s1\">'<\/span><span class=\"s\">50m'<\/span>\n        <span class=\"na\">max-file<\/span><span class=\"pi\">:<\/span> <span class=\"s1\">'<\/span><span class=\"s\">5'<\/span>\n    <span class=\"na\">environment<\/span><span class=\"pi\">:<\/span>\n      <span class=\"na\">REACT_APP_API_URL<\/span><span class=\"pi\">:<\/span> <span class=\"s\">${API_ROOT_URL}<\/span>\n      <span class=\"na\">REACT_APP_ENVIRONMENT<\/span><span class=\"pi\">:<\/span> <span class=\"s\">${NODE_ENV}<\/span>\n      <span class=\"na\">REACT_APP_WIDGET_EMBED_PATH<\/span><span class=\"pi\">:<\/span> <span class=\"s\">${WIDGET_EMBED_PATH}<\/span>\n      <span class=\"na\">REACT_APP_IS_SELF_HOSTED<\/span><span class=\"pi\">:<\/span> <span class=\"s1\">'<\/span><span class=\"s\">true'<\/span>\n      <span class=\"na\">REACT_APP_WS_URL<\/span><span class=\"pi\">:<\/span> <span class=\"s\">${REACT_APP_WS_URL}<\/span>\n    <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s\">4200:4200<\/span>\n    <span class=\"na\">command<\/span><span class=\"pi\">:<\/span> <span class=\"pi\">[<\/span><span class=\"s1\">'<\/span><span class=\"s\">\/bin\/sh'<\/span><span class=\"pi\">,<\/span> <span class=\"s1\">'<\/span><span class=\"s\">-c'<\/span><span class=\"pi\">,<\/span> <span class=\"s1\">'<\/span><span class=\"s\">pnpm<\/span><span class=\"nv\"> <\/span><span class=\"s\">run<\/span><span class=\"nv\"> <\/span><span class=\"s\">envsetup:docker<\/span><span class=\"nv\"> <\/span><span class=\"s\">&amp;&amp;<\/span><span class=\"nv\"> <\/span><span class=\"s\">pnpm<\/span><span class=\"nv\"> <\/span><span class=\"s\">run<\/span><span class=\"nv\"> <\/span><span class=\"s\">start:static:build'<\/span><span class=\"pi\">]<\/span>\n    <span class=\"na\">extra_hosts<\/span><span class=\"pi\">:<\/span>\n      <span class=\"pi\">-<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">host.docker.internal:host-gateway\"<\/span>\n<span class=\"c1\">#code omitted for brevity<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0622\u062e\u0631\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647 \u060c \u0627\u062c\u0627\u0632\u0647 \u062f\u0647\u06cc\u062f URL API NOVU \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 <code>.env.local<\/code> \u0628\u0631\u0646\u0627\u0645\u0647 \u067e\u0644 \u0645\u0627:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"nv\">NOVU_API_URL<\/span><span class=\"o\">=<\/span><api_url>\n<\/api_url><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u062d\u0627\u0644\u062a \u060c \u0645\u0627 <code><api_url\/><\/code> http: \/\/ localhost: 3000. \u0627\u06cc\u0646 \u0627\u0645\u0631 \u0628\u0647 \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u0645\u0634\u06a9\u0644\u0627\u062a \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u062a\u0623\u06cc\u06cc\u062f \u0627\u0639\u062a\u0628\u0627\u0631 \u0627\u0633\u062a\u0648\u062f\u06cc\u0648\u06cc \u0645\u062d\u0644\u06cc \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 URL API \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p><strong>\u062f\u0631 <code>.env.local<\/code> \u0647\u0645\u0686\u0646\u06cc\u0646 \u062d\u0627\u0648\u06cc \u0645\u0642\u0627\u062f\u06cc\u0631\u06cc \u0628\u0631\u0627\u06cc \u06a9\u0644\u06cc\u062f \u0645\u062e\u0641\u06cc \u060c \u0634\u0646\u0627\u0633\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0648 \u0634\u0646\u0627\u0633\u0647 \u0645\u0634\u062a\u0631\u06a9 \u0627\u0633\u062a. \u0627\u06af\u0631 \u06cc\u06a9 \u0686\u0631\u062e\u0634 \u06a9\u0644\u06cc\u062f\u06cc \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u0645 \u06cc\u0627 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u0628\u0627 \u06cc\u06a9 \u0645\u0634\u062a\u0631\u06a9 \u0645\u062a\u0641\u0627\u0648\u062a \u0622\u0632\u0645\u0627\u06cc\u0634 \u06a9\u0646\u06cc\u0645 \u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u06cc\u0646 \u0645\u0642\u0627\u062f\u06cc\u0631 \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u0645.<\/strong><\/p>\n<p>\u062f\u0631 \u0622\u062e\u0631 \u060c \u0628\u06cc\u0627\u06cc\u06cc\u062f \u062f\u0648\u0628\u0627\u0631\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 Bridge \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"o\">&gt;<\/span> npx novu@latest dev <span class=\"nt\">-d<\/span> <dashboard_url> <span class=\"nt\">-p<\/span> <bridge_port> <span class=\"nt\">-t<\/span> <tunnel_url>\n<\/tunnel_url><\/bridge_port><\/dashboard_url><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u060c <code><dashboard url=\"\"\/><\/code> http: \/\/ localhost: 4200 \u060c <code><bridge_application_port\/><\/code> 4000 \u0627\u0633\u062a \u0648 <code><tunnel url=\"\"\/><\/code> http: \/\/host.docker.internal: 4000.<\/p>\n<p>\u0627\u0633\u062a\u0648\u062f\u06cc\u0648\u06cc \u0645\u062d\u0644\u06cc \u062f\u0631 http: \/\/ localhost: 2022 \u0628\u0627\u0632 \u062e\u0648\u0627\u0647\u062f \u0634\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646 \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u0635\u0644\u06cc \u0627\u062c\u0631\u0627 \u0634\u062f\u0647 \u062f\u0631 http: \/\/ localhost: 4200 \u062a\u0623\u06cc\u06cc\u062f \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_%D8%A7%D8%B3%D8%AA%D9%88%D8%AF%DB%8C%D9%88%DB%8C_%D9%85%D8%AD%D9%84%DB%8C_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DA%AF%D8%B1%D8%AF%D8%B4_%DA%A9%D8%A7%D8%B1\"><\/span>\n<p>  \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0633\u062a\u0648\u062f\u06cc\u0648\u06cc \u0645\u062d\u0644\u06cc \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062a\u0648\u062c\u0647 \u0628\u0647 \u0627\u06cc\u0646 \u0646\u06a9\u062a\u0647 \u062d\u0627\u0626\u0632 \u0627\u0647\u0645\u06cc\u062a \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u0627\u06cc\u062c\u0627\u062f \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u062f\u0631 \u0627\u0633\u062a\u0648\u062f\u06cc\u0648\u06cc \u0645\u062d\u0644\u06cc \u060c \u0645\u0627 \u0628\u0627\u06cc\u062f \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u06cc \u0628\u0627 \u06a9\u062f \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u0645.<\/p>\n<p>\u0627\u0628\u062a\u062f\u0627 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u062c\u062f\u06cc\u062f \u0628\u0647 \u0646\u0627\u0645 Event-Notification \u062f\u0631 \u067e\u0648\u0634\u0647 \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u062f\u0631 \u067e\u0648\u0634\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 Bridge \u0645\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645. \u067e\u0648\u0634\u0647 \u062f\u0631 <code>app\/novu\/workflows\/event-notification<\/code>\u0628\u0634\u0631<\/p>\n<p>\u0628\u0639\u062f \u060c \u0628\u06cc\u0627\u06cc\u06cc\u062f \u06cc\u06a9 \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u0628\u0647 \u0646\u0627\u0645 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645 <code>eventNotification<\/code> \u062f\u0631 <code>workflow.ts<\/code> \u067e\u0631\u0648\u0646\u062f\u0647:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">workflow<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">@novu\/framework<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">payloadSchema<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">..\/welcome-onboarding-email\/schemas<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n\n<span class=\"k\">export<\/span> <span class=\"kd\">const<\/span> <span class=\"nx\">eventNotification<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">workflow<\/span><span class=\"p\">(<\/span>\n  <span class=\"dl\">\"<\/span><span class=\"s2\">event-notification<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span>\n  <span class=\"k\">async <\/span><span class=\"p\">({<\/span> <span class=\"nx\">step<\/span><span class=\"p\">,<\/span> <span class=\"nx\">payload<\/span> <span class=\"p\">})<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">await<\/span> <span class=\"nx\">step<\/span><span class=\"p\">.<\/span><span class=\"nf\">inApp<\/span><span class=\"p\">(<\/span><span class=\"dl\">\"<\/span><span class=\"s2\">In-App Step<\/span><span class=\"dl\">\"<\/span><span class=\"p\">,<\/span> <span class=\"k\">async <\/span><span class=\"p\">()<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n      <span class=\"k\">return<\/span> <span class=\"p\">{<\/span>\n        <span class=\"na\">subject<\/span><span class=\"p\">:<\/span> <span class=\"nx\">payload<\/span><span class=\"p\">.<\/span><span class=\"nx\">inAppSubject<\/span><span class=\"p\">,<\/span>\n        <span class=\"na\">body<\/span><span class=\"p\">:<\/span> <span class=\"nx\">payload<\/span><span class=\"p\">.<\/span><span class=\"nx\">inAppBody<\/span><span class=\"p\">,<\/span>\n        <span class=\"na\">avatar<\/span><span class=\"p\">:<\/span> <span class=\"nx\">payload<\/span><span class=\"p\">.<\/span><span class=\"nx\">inAppAvatar<\/span><span class=\"p\">,<\/span>\n      <span class=\"p\">};<\/span>\n    <span class=\"p\">});<\/span>\n  <span class=\"p\">},<\/span>\n  <span class=\"p\">{<\/span>\n    <span class=\"nx\">payloadSchema<\/span><span class=\"p\">,<\/span>\n  <span class=\"p\">}<\/span>\n<span class=\"p\">);<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0633\u067e\u0633 \u0645\u06cc \u0631\u0648\u06cc\u0645 <code>\/app\/api\/novu<\/code> \u0648 \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u062c\u062f\u06cc\u062f \u0645\u0627 \u0631\u0627 \u0628\u0647 <code>routes.ts<\/code> \u067e\u0631\u0648\u0646\u062f\u0647:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">serve<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">@novu\/framework\/next<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">welcomeOnboardingEmail<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">..\/..\/novu\/workflows<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">import<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">eventNotification<\/span> <span class=\"p\">}<\/span> <span class=\"k\">from<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">..\/..\/\/novu\/workflows\/event-notification\/workflow<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n\n<span class=\"k\">export<\/span> <span class=\"kd\">const<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">GET<\/span><span class=\"p\">,<\/span> <span class=\"nx\">POST<\/span><span class=\"p\">,<\/span> <span class=\"nx\">OPTIONS<\/span> <span class=\"p\">}<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">serve<\/span><span class=\"p\">({<\/span>\n  <span class=\"na\">workflows<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span><span class=\"nx\">welcomeOnboardingEmail<\/span><span class=\"p\">,<\/span> <span class=\"nx\">eventNotification<\/span><span class=\"p\">],<\/span>\n<span class=\"p\">});<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0633\u067e\u0633 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u062c\u062f\u06cc\u062f \u0631\u0627 \u062f\u0631 \u0635\u0641\u062d\u0647 \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u0627\u0633\u062a\u0648\u062f\u06cc\u0648\u06cc \u0645\u062d\u0644\u06cc \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u0645.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%87%D9%85%DA%AF%D8%A7%D9%85_%D8%B3%D8%A7%D8%B2%DB%8C_%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1%D8%A7%D8%AA_%D8%A7%D8%B2_%D8%A7%D8%B3%D8%AA%D9%88%D8%AF%DB%8C%D9%88%DB%8C_%D9%85%D8%AD%D9%84%DB%8C_%D8%A8%D9%87_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_NOVU\"><\/span>\n<p>  \u0647\u0645\u06af\u0627\u0645 \u0633\u0627\u0632\u06cc \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0627\u0632 \u0627\u0633\u062a\u0648\u062f\u06cc\u0648\u06cc \u0645\u062d\u0644\u06cc \u0628\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 NOVU<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0645\u0627 \u062f\u0631 \u0627\u0633\u062a\u0648\u062f\u06cc\u0648\u06cc \u0645\u062d\u0644\u06cc \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a\u06cc \u062f\u0631 \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u062e\u0648\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u06cc\u0645 \u060c \u0628\u0627\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u0635\u0644\u06cc \u06a9\u0647 \u062f\u0631 https: \/\/ localhost: 4200: \u0647\u0645\u06af\u0627\u0645 \u0633\u0627\u0632\u06cc \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u0647\u0645\u06af\u0627\u0645 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code><span class=\"o\">&gt;<\/span> npx novu@latest <span class=\"nb\">sync<\/span> <span class=\"nt\">--bridge-url<\/span> <bridge_url> <span class=\"nt\">--secret-key<\/span> <secret_key> <span class=\"nt\">--api-url<\/span> <api_url>\n<\/api_url><\/secret_key><\/bridge_url><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u060c <code><bridge_url\/><\/code> http: \/\/host.docker.internal: 4000\/api\/novu \u060c \u0648 <code><api_url\/><\/code> http: \/\/ localhost: 3000. \u062f\u0631 <code><secret_key\/><\/code> \u06a9\u0644\u06cc\u062f\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0645\u0627 \u0627\u0632 \u062f\u0627\u0634\u0628\u0648\u0631\u062f \u0628\u0631\u0646\u0627\u0645\u0647 NOVU \u0645\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AA%D8%B1%D9%88%DB%8C%D8%AC_%DA%AF%D8%B1%D8%AF%D8%B4_%DA%A9%D8%A7%D8%B1_%D8%A7%D8%B2_%D8%AA%D9%88%D8%B3%D8%B9%D9%87_%D8%AA%D8%A7_%D8%AA%D9%88%D9%84%DB%8C%D8%AF\"><\/span>\n<p>  \u062a\u0631\u0648\u06cc\u062c \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u0627\u0632 \u062a\u0648\u0633\u0639\u0647 \u062a\u0627 \u062a\u0648\u0644\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u067e\u0633 \u0627\u0632 \u0627\u06cc\u062c\u0627\u062f \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0633\u062a\u0648\u062f\u06cc\u0648\u06cc \u0645\u062d\u0644\u06cc \u0648 \u0647\u0645\u06af\u0627\u0645 \u0633\u0627\u0632\u06cc \u0622\u0646 \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 NOVU \u060c \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u062f\u0631 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u062f\u0631 \u062f\u0627\u0634\u0628\u0648\u0631\u062f Novu \u0645\u0627 \u0638\u0627\u0647\u0631 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0627\u06cc\u0646\u06a9\u0647 \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u062f\u0631 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0644\u06cc\u062f \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0628\u0627\u0634\u062f \u060c \u0628\u0627\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0627\u0631\u062a\u0642\u0627 \u062f\u0647\u06cc\u0645. <\/p>\n<p>\u0628\u0631\u0627\u06cc \u0627\u0646\u062c\u0627\u0645 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u060c \u0645\u0627 \u0627\u0632 url http: \/\/ localhost: 4200\/\u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u062a\u0627 \u0647\u0645\u0647 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u0645 \u0648 \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u0631\u0627 \u0628\u0647 \u0633\u0645\u062a \u062a\u0648\u0644\u06cc\u062f \u0627\u0631\u062a\u0642\u0627 \u062f\u0647\u06cc\u0645.<\/p>\n<p>\u0646\u06a9\u062a\u0647: <code><inbox\/><\/code> \u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 \u0645\u0624\u0644\u0641\u0647 \u062f\u0631 \u062d\u0627\u0644 \u0628\u0647 \u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0647\u0627\u06cc \u0632\u06cc\u0627\u062f\u06cc \u0627\u0633\u062a. \u0627\u06af\u0631 \u062e\u0637\u0627\u06cc 400 \u0631\u0627 \u067e\u0631\u062a\u0627\u0628 \u0645\u06cc \u06a9\u0646\u062f \u060c \u0627\u0632 \u0646\u0633\u062e\u0647 NPM 3.1.0 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%BE%D8%A7%DB%8C%D8%A7%D9%86\"><\/span>\n<p>  \u067e\u0627\u06cc\u0627\u0646<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062f\u0631 \u0645\u0642\u0627\u0644\u0647 \u060c \u0645\u0627 \u06cc\u0627\u062f \u06af\u0631\u0641\u062a\u06cc\u0645 \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 Novu \u060c \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u0627\u0639\u0644\u0627\u0646 \u0647\u0627\u06cc \u0645\u0646\u0628\u0639 \u0628\u0627\u0632 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker \u0645\u0633\u062a\u0642\u0631 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u0645. \u0645\u0627 \u0647\u0645\u0686\u0646\u06cc\u0646 \u06cc\u0627\u062f \u06af\u0631\u0641\u062a\u06cc\u0645 \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0627\u0632 \u0627\u0633\u062a\u0648\u062f\u06cc\u0648\u06cc \u0645\u062d\u0644\u06cc \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u060c \u0647\u0645\u06af\u0627\u0645 \u0633\u0627\u0632\u06cc \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 NOVU \u0648 \u062a\u0631\u0648\u06cc\u062c \u06af\u0631\u062f\u0634 \u06a9\u0627\u0631 \u0627\u0632 \u062a\u0648\u0633\u0639\u0647 \u062a\u0627 \u062a\u0648\u0644\u06cc\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D9%86%D8%A7%D8%A8%D8%B9\"><\/span>\n<p>  \u0645\u0646\u0627\u0628\u0639<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol>\n<li>https:\/\/docs.novu.co\/community\/self-hosting-novu\/deploy-docker<\/li>\n<li>https:\/\/github.com\/novuhq\/novu\/issues\/6653<\/li>\n<li>https:\/\/github.com\/novuhq\/novu\/issues\/6710<\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"%D9%84%DB%8C%D8%B3%D8%AA_URL_%D9%87%D8%A7\"><\/span>\n<p>  \u0644\u06cc\u0633\u062a URL \u0647\u0627:<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ol>\n<li>URL \u062f\u0627\u0634\u0628\u0648\u0631\u062f: http: \/\/ localhost: 4200\n<\/li>\n<li>URL Application Bridge: http: \/\/ localhost: 4000\/\n<\/li>\n<li>URL API Bridge: http: \/\/ localhost: 4000\/api\/novu\n<\/li>\n<li>URL \u062a\u0648\u0646\u0644 \u067e\u0644: http: \/\/host.docker.internal: 4000\/api\/novu\n<\/li>\n<li>URL \u0627\u0633\u062a\u0648\u062f\u06cc\u0648\u06cc \u0645\u062d\u0644\u06cc: http: \/\/ localhost: 2022\/studio\n<\/li>\n<li>URL API: http: \/\/ localhost: 3000\/v1\n<\/li>\n<li>URL WebSocket: http: \/\/ localhost: 3002\n<\/li>\n<\/ol><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0647\u0631 \u0645\u062d\u0635\u0648\u0644 \u062e\u0648\u0628 \u0627\u06cc\u0646 \u0631\u0648\u0632\u0647\u0627 \u0628\u0627\u06cc\u062f \u0631\u0627\u0647\u06cc \u0628\u0631\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u0627\u0639\u0644\u0627\u0646 \u0647\u0627 \u0628\u0647 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u062f\u0631 \u06a9\u0627\u0646\u0627\u0644 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0645\u0647\u0646\u062f\u0633 \u060c \u0633\u0627\u062e\u062a\u0645\u0627\u0646 \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0647\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u06cc\u06a9 \u062a\u0644\u0627\u0634 \u0648\u0642\u062a \u06af\u06cc\u0631 \u0628\u0627\u0634\u062f \u060c \u0628\u0647 \u062e\u0635\u0648\u0635 \u0627\u06af\u0631 \u0633\u0646\u0627\u0631\u06cc\u0648\u0647\u0627\u06cc \u067e\u06cc\u0686\u06cc\u062f\u0647 \u0648 \u06a9\u0627\u0646\u0627\u0644 \u0647\u0627\u06cc \u0627\u0637\u0644\u0627\u0639 \u0631\u0633\u0627\u0646\u06cc \u0686\u0646\u062f\u06af\u0627\u0646\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":108452,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/media2.dev.to\/dynamic\/image\/width=1000,height=500,fit=cover,gravity=auto,format=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5oygzx61pr0hhv1408ut.png","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-108451","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/108451","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=108451"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/108451\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/108452"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=108451"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=108451"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=108451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}