[{"data":1,"prerenderedAt":2397},["ShallowReactive",2],{"navigation":3,"/en/blog/ai-module":411,"/en/blog/ai-module-surround":2383},[4,218],{"title":5,"_path":6,"children":7},"En","/en",[8,29,35,67,77,87,105,130,148,155,162,178,190],{"title":9,"_path":10,"children":11},"Getting Started","/en/getting-started",[12,14,17,20,23,26],{"title":13,"_path":10},"Introduction",{"title":15,"_path":16},"Quick Start","/en/getting-started/quickstart",{"title":18,"_path":19},"Installation on Docker Standalone","/en/getting-started/dockerstandalone",{"title":21,"_path":22},"Installation on Docker Swarm","/en/getting-started/dockerswarm",{"title":24,"_path":25},"Installation on Windows","/en/getting-started/windows",{"title":27,"_path":28},"Installation on Linux","/en/getting-started/linux",{"title":30,"_path":31,"children":32},"Dashboard","/en/dashboard",[33],{"title":30,"_path":34},"/en/dashboard/dashboard",{"title":36,"_path":37,"children":38},"Datacollector","/en/datacollector",[39,42,45],{"title":40,"_path":41},"Data View","/en/datacollector/view",{"title":43,"_path":44},"Management","/en/datacollector/management",{"title":46,"_path":47,"children":48},"Vendors","/en/datacollector/vendors",[49,52,55,58,61,64],{"title":50,"_path":51},"Default Syslog Configuration","/en/datacollector/vendors/default",{"title":53,"_path":54},"FortiGate Syslog Configuration","/en/datacollector/vendors/fortigate-syslog",{"title":56,"_path":57},"Palo Alto Syslog Configuration","/en/datacollector/vendors/palo-alto-syslog",{"title":59,"_path":60},"Ruijie Syslog Configuration","/en/datacollector/vendors/ruijie-syslog",{"title":62,"_path":63},"Sophos Syslog Configuration","/en/datacollector/vendors/sophos-syslog",{"title":65,"_path":66},"SonicWall Syslog Configuration","/en/datacollector/vendors/sonicwall-syslog",{"title":68,"_path":69,"children":70},"Reports","/en/reports",[71,74],{"title":72,"_path":73},"Reports Views","/en/reports/view",{"title":75,"_path":76},"Scheduled Reports","/en/reports/scheduled-reports",{"title":78,"_path":79,"children":80},"Alert","/en/alert",[81,84],{"title":82,"_path":83},"Rule Management","/en/alert/rule-management",{"title":85,"_path":86},"Notification Policy","/en/alert/notification-policy",{"title":88,"_path":89,"children":90},"Hotspot","/en/hotspot",[91,93,96,99,102],{"title":13,"_path":92},"/en/hotspot/introduction",{"title":94,"_path":95},"Location","/en/hotspot/locations",{"title":97,"_path":98},"Templates","/en/hotspot/templates",{"title":100,"_path":101},"User Activity","/en/hotspot/user-stats",{"title":103,"_path":104},"Black & White List","/en/hotspot/bw-list",{"title":106,"_path":107,"children":108},"Integrations","/en/integrations",[109,112,115,118,121,124,127],{"title":110,"_path":111},"SMTP Server","/en/integrations/smtp",{"title":113,"_path":114},"SMS Provider","/en/integrations/sms",{"title":116,"_path":117},"PMS Integration","/en/integrations/pms",{"title":119,"_path":120},"LDAP Integration","/en/integrations/ldap",{"title":122,"_path":123},"API Integration","/en/integrations/api",{"title":125,"_path":126},"NTP Server Integration","/en/integrations/ntp",{"title":128,"_path":129},"Timestamp Server Integration","/en/integrations/time-stamp-server",{"title":43,"_path":131,"children":132},"/en/management",[133,136,139,142,145],{"title":134,"_path":135},"Data Management","/en/management/data-management",{"title":137,"_path":138},"Contact Management","/en/management/contact-management",{"title":140,"_path":141},"Object Management","/en/management/object",{"title":143,"_path":144},"Command Line Interface","/en/management/command-line-interface",{"title":146,"_path":147},"Disk Capacity Planning Formula","/en/management/disk-management",{"title":149,"_path":150,"children":151},"License","/en/license",[152],{"title":153,"_path":154},"License & Agents","/en/license/license",{"title":156,"_path":157,"children":158},"User Authentication","/en/user-authentication",[159],{"title":160,"_path":161},"User & Authentication ","/en/user-authentication/user-authentication",{"title":163,"_path":164,"children":165},"System","/en/system",[166,169,172,175],{"title":167,"_path":168},"Administrator Management","/en/system/administrator",{"title":170,"_path":171},"Feature Visibility","/en/system/features-visibility",{"title":173,"_path":174},"Update","/en/system/update",{"title":176,"_path":177},"System Settings","/en/system/settings",{"title":179,"_path":180,"children":181},"Practice","/en/practice",[182,185,187],{"title":183,"_path":184},"Top Bantwidth Usage","/en/practice/topbantwidthusage",{"title":183,"_path":186},"/en/practice/most-visited-websites",{"title":188,"_path":189},"Inspect Blocked Traffic","/en/practice/inspect-blocked-traffic",{"title":191,"_path":192,"children":193},"Blog","/en/blog",[194,197,200,203,206,209,212,215],{"title":195,"_path":196},"Load Balance Configuration with Docker Swarm","/en/blog/load-balance-config",{"title":198,"_path":199},"Getting Started with the AI Module","/en/blog/ai-module",{"title":201,"_path":202},"How To Config Fortigate Syslog","/en/blog/how-to-config-fortigate-syslog",{"title":204,"_path":205},"How To Config Paloalto Syslog","/en/blog/how-to-config-paloalto-syslog",{"title":207,"_path":208},"How To Config Sophos Syslog","/en/blog/how-to-config-sophos-syslog",{"title":210,"_path":211},"Installing MinIO on Linux Server","/en/blog/minio-install",{"title":213,"_path":214},"Docker Desktop On Windows","/en/blog/docker-desktop-on-windows",{"title":216,"_path":217},"Installing Docker on Ubuntu Server","/en/blog/docker-on-ubuntu-server",{"title":219,"_path":220,"children":221},"Tr","/tr",[222,242,247,275,284,293,310,333,350,356,361,375,387],{"title":223,"_path":224,"children":225},"Giriş","/tr/getting-started",[226,227,230,233,236,239],{"title":223,"_path":224},{"title":228,"_path":229},"Hızlı Başlangıç","/tr/getting-started/quickstart",{"title":231,"_path":232},"Docker Standalone Üzerine Kurulum","/tr/getting-started/dockerstandalone",{"title":234,"_path":235},"Docker Swarm Üzerinde Kurulum","/tr/getting-started/dockerswarm",{"title":237,"_path":238},"Windows'ta Kurulum","/tr/getting-started/windows",{"title":240,"_path":241},"Linux'ta Kurulum","/tr/getting-started/linux",{"title":30,"_path":243,"children":244},"/tr/dashboard",[245],{"title":30,"_path":246},"/tr/dashboard/dashboard",{"title":36,"_path":248,"children":249},"/tr/datacollector",[250,252,254],{"title":40,"_path":251},"/tr/datacollector/view",{"title":43,"_path":253},"/tr/datacollector/management",{"title":46,"_path":255,"children":256},"/tr/datacollector/vendors",[257,260,263,266,269,272],{"title":258,"_path":259},"Varsayılan Syslog Yapılandırması","/tr/datacollector/vendors/default",{"title":261,"_path":262},"FortiGate Syslog Yapılandırması","/tr/datacollector/vendors/fortigate-syslog",{"title":264,"_path":265},"Palo Alto Syslog Yapılandırması","/tr/datacollector/vendors/palo-alto-syslog",{"title":267,"_path":268},"Ruijie Syslog Yapılandırması","/tr/datacollector/vendors/ruijie-syslog",{"title":270,"_path":271},"Sophos Syslog Yapılandırması","/tr/datacollector/vendors/sophos-syslog",{"title":273,"_path":274},"SonicWall Syslog Yapılandırması","/tr/datacollector/vendors/sonicwall-syslog",{"title":68,"_path":276,"children":277},"/tr/reports",[278,281],{"title":279,"_path":280},"Rapor Görünümleri","/tr/reports/view",{"title":282,"_path":283},"Planlanmış Raporlar","/tr/reports/scheduled-reports",{"title":78,"_path":285,"children":286},"/tr/alert",[287,290],{"title":288,"_path":289},"Kural Yönetimi","/tr/alert/rule-management",{"title":291,"_path":292},"Bildirim Politikası","/tr/alert/notification-policy",{"title":88,"_path":294,"children":295},"/tr/hotspot",[296,298,301,304,307],{"title":223,"_path":297},"/tr/hotspot/introduction",{"title":299,"_path":300},"Konum","/tr/hotspot/locations",{"title":302,"_path":303},"Şablonlar","/tr/hotspot/templates",{"title":305,"_path":306},"Kullanıcı Etkinliği","/tr/hotspot/user-stats",{"title":308,"_path":309},"Kara ve Beyaz Liste","/tr/hotspot/bw-list",{"title":106,"_path":311,"children":312},"/tr/integrations",[313,315,318,321,324,327,330],{"title":110,"_path":314},"/tr/integrations/smtp",{"title":316,"_path":317},"SMS Sağlayıcı","/tr/integrations/sms",{"title":319,"_path":320},"Pms","/tr/integrations/pms",{"title":322,"_path":323},"LDAP Entegrasyonu","/tr/integrations/ldap",{"title":325,"_path":326},"API Entegrasyonu","/tr/integrations/api",{"title":328,"_path":329},"NTP Sunucu Entegrasyonu","/tr/integrations/ntp",{"title":331,"_path":332},"Zaman Damgası Sunucusu Entegrasyonu","/tr/integrations/time-stamp-server",{"title":43,"_path":334,"children":335},"/tr/management",[336,339,342,345,347],{"title":337,"_path":338},"Veri Yönetimi","/tr/management/data-management",{"title":340,"_path":341},"İletişim Yönetimi","/tr/management/contact-management",{"title":343,"_path":344},"Nesne Yönetimi","/tr/management/object",{"title":143,"_path":346},"/tr/management/command-line-interface",{"title":348,"_path":349},"Disk Kapasite Planlama Formülü","/tr/management/disk-management",{"title":149,"_path":351,"children":352},"/tr/license",[353],{"title":354,"_path":355},"Lisans ve Ajanlar","/tr/license/license",{"title":156,"_path":357,"children":358},"/tr/user-authentication",[359],{"title":156,"_path":360},"/tr/user-authentication/user-authentication",{"title":163,"_path":362,"children":363},"/tr/system",[364,367,370,372],{"title":365,"_path":366},"Yönetici Yönetimi","/tr/system/administrator",{"title":368,"_path":369},"Özellik Görünürlüğü","/tr/system/features-visibility",{"title":173,"_path":371},"/tr/system/update",{"title":373,"_path":374},"Sistem Ayarları","/tr/system/settings",{"title":179,"_path":376,"children":377},"/tr/practice",[378,381,384],{"title":379,"_path":380},"En Yüksek Bandwidth Kullanımı","/tr/practice/topbantwidthusage",{"title":382,"_path":383},"Top Bandwidth Kullanımı","/tr/practice/most-visited-websites",{"title":385,"_path":386},"Engellenen Trafiği İncele","/tr/practice/inspect-blocked-traffic",{"title":191,"_path":388,"children":389},"/tr/blog",[390,393,396,398,400,402,405,408],{"title":391,"_path":392},"Docker Swarm ile Yük Deneleme Yapılandırması","/tr/blog/load-balance-config",{"title":394,"_path":395},"AI Modülü ile Başlarken","/tr/blog/ai-module",{"title":201,"_path":397},"/tr/blog/how-to-config-fortigate-syslog",{"title":204,"_path":399},"/tr/blog/how-to-config-paloalto-syslog",{"title":207,"_path":401},"/tr/blog/how-to-config-sophos-syslog",{"title":403,"_path":404},"Minio Install","/tr/blog/minio-install",{"title":406,"_path":407},"Windows'ta Docker Desktop","/tr/blog/docker-desktop-on-windows",{"title":409,"_path":410},"Ubuntu Server'da Docker Kurulumu","/tr/blog/docker-on-ubuntu-server",{"_path":199,"_dir":412,"_draft":413,"_partial":413,"_locale":414,"title":198,"description":415,"image":416,"authors":418,"date":424,"badge":425,"body":427,"_type":2377,"_id":2378,"_source":2379,"_file":2380,"_stem":2381,"_extension":2382},"blog",false,"","This guide explains step by step how to configuration load balancer with Docker Swarm.",{"src":417},"https://ui.nuxt.com/social-card.png",[419],{"name":420,"to":421,"avatar":422},"Samet Yılmaz","https://twitter.com/benjamincanac",{"src":423},"https://i.pravatar.cc/128?u=6","2025-01-01",{"label":426},"LoadBalance",{"type":428,"children":429,"toc":2370},"root",[430,438,444,451,476,482,491,556,582,612,640,649,737,766,787,796,852,861,936,945,970,975,1763,1771,1795,1799,2113,2121,2162,2170,2194,2202,2230,2238,2258,2266,2293,2299,2364],{"type":431,"tag":432,"props":433,"children":435},"element","h2",{"id":434},"introduction",[436],{"type":437,"value":13},"text",{"type":431,"tag":439,"props":440,"children":441},"p",{},[442],{"type":437,"value":443},"Logger software stands up with a single container in default installation. If you need to scale the system, you can do it in different ways. In this blog post, I will explain the scaling configuration on Docker Swarm structure using NGINX.",{"type":431,"tag":445,"props":446,"children":448},"h3",{"id":447},"prerequisites",[449],{"type":437,"value":450},"✨ Prerequisites",{"type":431,"tag":452,"props":453,"children":454},"ul",{},[455,461,466,471],{"type":431,"tag":456,"props":457,"children":458},"li",{},[459],{"type":437,"value":460},"Docker Swarm",{"type":431,"tag":456,"props":462,"children":463},{},[464],{"type":437,"value":465},"Docker Engine",{"type":431,"tag":456,"props":467,"children":468},{},[469],{"type":437,"value":470},"Docker Compose",{"type":431,"tag":456,"props":472,"children":473},{},[474],{"type":437,"value":475},"Nginx",{"type":431,"tag":432,"props":477,"children":479},{"id":478},"installation-steps",[480],{"type":437,"value":481},"😌 Installation Steps",{"type":431,"tag":483,"props":484,"children":485},"ol",{},[486],{"type":431,"tag":456,"props":487,"children":488},{},[489],{"type":437,"value":490},"Install Docker",{"type":431,"tag":492,"props":493,"children":498},"pre",{"className":494,"code":495,"filename":496,"language":497,"meta":414,"style":414},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","sudo apt-get update -y && sudo apt-get upgrade -y\n","# Update package list and upgrade packages","bash",[499],{"type":431,"tag":500,"props":501,"children":502},"code",{"__ignoreMap":414},[503],{"type":431,"tag":504,"props":505,"children":508},"span",{"class":506,"line":507},"line",1,[509,515,521,526,531,537,542,546,551],{"type":431,"tag":504,"props":510,"children":512},{"style":511},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[513],{"type":437,"value":514},"sudo",{"type":431,"tag":504,"props":516,"children":518},{"style":517},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[519],{"type":437,"value":520}," apt-get",{"type":431,"tag":504,"props":522,"children":523},{"style":517},[524],{"type":437,"value":525}," update",{"type":431,"tag":504,"props":527,"children":528},{"style":517},[529],{"type":437,"value":530}," -y",{"type":431,"tag":504,"props":532,"children":534},{"style":533},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[535],{"type":437,"value":536}," &&",{"type":431,"tag":504,"props":538,"children":539},{"style":511},[540],{"type":437,"value":541}," sudo",{"type":431,"tag":504,"props":543,"children":544},{"style":517},[545],{"type":437,"value":520},{"type":431,"tag":504,"props":547,"children":548},{"style":517},[549],{"type":437,"value":550}," upgrade",{"type":431,"tag":504,"props":552,"children":553},{"style":517},[554],{"type":437,"value":555}," -y\n",{"type":431,"tag":492,"props":557,"children":560},{"className":494,"code":558,"filename":559,"language":497,"meta":414,"style":414},"apt install docker.io\n","# Install docker",[561],{"type":431,"tag":500,"props":562,"children":563},{"__ignoreMap":414},[564],{"type":431,"tag":504,"props":565,"children":566},{"class":506,"line":507},[567,572,577],{"type":431,"tag":504,"props":568,"children":569},{"style":511},[570],{"type":437,"value":571},"apt",{"type":431,"tag":504,"props":573,"children":574},{"style":517},[575],{"type":437,"value":576}," install",{"type":431,"tag":504,"props":578,"children":579},{"style":517},[580],{"type":437,"value":581}," docker.io\n",{"type":431,"tag":492,"props":583,"children":586},{"className":494,"code":584,"filename":585,"language":497,"meta":414,"style":414},"sudo systemctl status docker\n","# Check docker installation",[587],{"type":431,"tag":500,"props":588,"children":589},{"__ignoreMap":414},[590],{"type":431,"tag":504,"props":591,"children":592},{"class":506,"line":507},[593,597,602,607],{"type":431,"tag":504,"props":594,"children":595},{"style":511},[596],{"type":437,"value":514},{"type":431,"tag":504,"props":598,"children":599},{"style":517},[600],{"type":437,"value":601}," systemctl",{"type":431,"tag":504,"props":603,"children":604},{"style":517},[605],{"type":437,"value":606}," status",{"type":431,"tag":504,"props":608,"children":609},{"style":517},[610],{"type":437,"value":611}," docker\n",{"type":431,"tag":492,"props":613,"children":616},{"className":494,"code":614,"filename":615,"language":497,"meta":414,"style":414},"sudo systemctl enable docker\n","# Enable auto start",[617],{"type":431,"tag":500,"props":618,"children":619},{"__ignoreMap":414},[620],{"type":431,"tag":504,"props":621,"children":622},{"class":506,"line":507},[623,627,631,636],{"type":431,"tag":504,"props":624,"children":625},{"style":511},[626],{"type":437,"value":514},{"type":431,"tag":504,"props":628,"children":629},{"style":517},[630],{"type":437,"value":601},{"type":431,"tag":504,"props":632,"children":633},{"style":517},[634],{"type":437,"value":635}," enable",{"type":431,"tag":504,"props":637,"children":638},{"style":517},[639],{"type":437,"value":611},{"type":431,"tag":483,"props":641,"children":643},{"start":642},2,[644],{"type":431,"tag":456,"props":645,"children":646},{},[647],{"type":437,"value":648},"Install Docker Compose",{"type":431,"tag":492,"props":650,"children":653},{"className":494,"code":651,"filename":652,"language":497,"meta":414,"style":414},"sudo curl -L \"https://github.com/docker/compose/releases/download/v2.22.0/docker-compose-$(uname -s)-$(uname -m)\" -o /usr/local/bin/docker-compose\n","# Install Docker Compose",[654],{"type":431,"tag":500,"props":655,"children":656},{"__ignoreMap":414},[657],{"type":431,"tag":504,"props":658,"children":659},{"class":506,"line":507},[660,664,669,674,679,684,689,694,699,704,709,713,717,722,727,732],{"type":431,"tag":504,"props":661,"children":662},{"style":511},[663],{"type":437,"value":514},{"type":431,"tag":504,"props":665,"children":666},{"style":517},[667],{"type":437,"value":668}," curl",{"type":431,"tag":504,"props":670,"children":671},{"style":517},[672],{"type":437,"value":673}," -L",{"type":431,"tag":504,"props":675,"children":676},{"style":533},[677],{"type":437,"value":678}," \"",{"type":431,"tag":504,"props":680,"children":681},{"style":517},[682],{"type":437,"value":683},"https://github.com/docker/compose/releases/download/v2.22.0/docker-compose-",{"type":431,"tag":504,"props":685,"children":686},{"style":533},[687],{"type":437,"value":688},"$(",{"type":431,"tag":504,"props":690,"children":691},{"style":511},[692],{"type":437,"value":693},"uname",{"type":431,"tag":504,"props":695,"children":696},{"style":517},[697],{"type":437,"value":698}," -s",{"type":431,"tag":504,"props":700,"children":701},{"style":533},[702],{"type":437,"value":703},")",{"type":431,"tag":504,"props":705,"children":706},{"style":517},[707],{"type":437,"value":708},"-",{"type":431,"tag":504,"props":710,"children":711},{"style":533},[712],{"type":437,"value":688},{"type":431,"tag":504,"props":714,"children":715},{"style":511},[716],{"type":437,"value":693},{"type":431,"tag":504,"props":718,"children":719},{"style":517},[720],{"type":437,"value":721}," -m",{"type":431,"tag":504,"props":723,"children":724},{"style":533},[725],{"type":437,"value":726},")\"",{"type":431,"tag":504,"props":728,"children":729},{"style":517},[730],{"type":437,"value":731}," -o",{"type":431,"tag":504,"props":733,"children":734},{"style":517},[735],{"type":437,"value":736}," /usr/local/bin/docker-compose\n",{"type":431,"tag":492,"props":738,"children":741},{"className":494,"code":739,"filename":740,"language":497,"meta":414,"style":414},"sudo chmod +x /usr/local/bin/docker-compose\n","# Make it executable",[742],{"type":431,"tag":500,"props":743,"children":744},{"__ignoreMap":414},[745],{"type":431,"tag":504,"props":746,"children":747},{"class":506,"line":507},[748,752,757,762],{"type":431,"tag":504,"props":749,"children":750},{"style":511},[751],{"type":437,"value":514},{"type":431,"tag":504,"props":753,"children":754},{"style":517},[755],{"type":437,"value":756}," chmod",{"type":431,"tag":504,"props":758,"children":759},{"style":517},[760],{"type":437,"value":761}," +x",{"type":431,"tag":504,"props":763,"children":764},{"style":517},[765],{"type":437,"value":736},{"type":431,"tag":492,"props":767,"children":770},{"className":494,"code":768,"filename":769,"language":497,"meta":414,"style":414},"docker-compose --version\n","# Check docker compose installation",[771],{"type":431,"tag":500,"props":772,"children":773},{"__ignoreMap":414},[774],{"type":431,"tag":504,"props":775,"children":776},{"class":506,"line":507},[777,782],{"type":431,"tag":504,"props":778,"children":779},{"style":511},[780],{"type":437,"value":781},"docker-compose",{"type":431,"tag":504,"props":783,"children":784},{"style":517},[785],{"type":437,"value":786}," --version\n",{"type":431,"tag":483,"props":788,"children":790},{"start":789},3,[791],{"type":431,"tag":456,"props":792,"children":793},{},[794],{"type":437,"value":795},"Swarm Init and Create Master Node",{"type":431,"tag":492,"props":797,"children":800},{"className":494,"code":798,"filename":799,"language":497,"meta":414,"style":414},"sudo docker swarm init --advertise-addr \u003CMASTER_NODE_IP_ADDRESS>\n","# Swarm init",[801],{"type":431,"tag":500,"props":802,"children":803},{"__ignoreMap":414},[804],{"type":431,"tag":504,"props":805,"children":806},{"class":506,"line":507},[807,811,816,821,826,831,836,841,847],{"type":431,"tag":504,"props":808,"children":809},{"style":511},[810],{"type":437,"value":514},{"type":431,"tag":504,"props":812,"children":813},{"style":517},[814],{"type":437,"value":815}," docker",{"type":431,"tag":504,"props":817,"children":818},{"style":517},[819],{"type":437,"value":820}," swarm",{"type":431,"tag":504,"props":822,"children":823},{"style":517},[824],{"type":437,"value":825}," init",{"type":431,"tag":504,"props":827,"children":828},{"style":517},[829],{"type":437,"value":830}," --advertise-addr",{"type":431,"tag":504,"props":832,"children":833},{"style":533},[834],{"type":437,"value":835}," \u003C",{"type":431,"tag":504,"props":837,"children":838},{"style":517},[839],{"type":437,"value":840},"MASTER_NODE_IP_ADDRES",{"type":431,"tag":504,"props":842,"children":844},{"style":843},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[845],{"type":437,"value":846},"S",{"type":431,"tag":504,"props":848,"children":849},{"style":533},[850],{"type":437,"value":851},">\n",{"type":431,"tag":483,"props":853,"children":855},{"start":854},4,[856],{"type":431,"tag":456,"props":857,"children":858},{},[859],{"type":437,"value":860},"Add Worker Node to Cluster",{"type":431,"tag":492,"props":862,"children":865},{"className":494,"code":863,"filename":864,"language":497,"meta":414,"style":414},"sudo docker swarm join --token \u003CTOKEN> \u003CMANAGER_IP>:2377\n","# Swarm join",[866],{"type":431,"tag":500,"props":867,"children":868},{"__ignoreMap":414},[869],{"type":431,"tag":504,"props":870,"children":871},{"class":506,"line":507},[872,876,880,884,889,894,898,903,908,913,917,922,927,931],{"type":431,"tag":504,"props":873,"children":874},{"style":511},[875],{"type":437,"value":514},{"type":431,"tag":504,"props":877,"children":878},{"style":517},[879],{"type":437,"value":815},{"type":431,"tag":504,"props":881,"children":882},{"style":517},[883],{"type":437,"value":820},{"type":431,"tag":504,"props":885,"children":886},{"style":517},[887],{"type":437,"value":888}," join",{"type":431,"tag":504,"props":890,"children":891},{"style":517},[892],{"type":437,"value":893}," --token",{"type":431,"tag":504,"props":895,"children":896},{"style":533},[897],{"type":437,"value":835},{"type":431,"tag":504,"props":899,"children":900},{"style":517},[901],{"type":437,"value":902},"TOKE",{"type":431,"tag":504,"props":904,"children":905},{"style":843},[906],{"type":437,"value":907},"N",{"type":431,"tag":504,"props":909,"children":910},{"style":533},[911],{"type":437,"value":912},">",{"type":431,"tag":504,"props":914,"children":915},{"style":533},[916],{"type":437,"value":835},{"type":431,"tag":504,"props":918,"children":919},{"style":517},[920],{"type":437,"value":921},"MANAGER_I",{"type":431,"tag":504,"props":923,"children":924},{"style":843},[925],{"type":437,"value":926},"P",{"type":431,"tag":504,"props":928,"children":929},{"style":533},[930],{"type":437,"value":912},{"type":431,"tag":504,"props":932,"children":933},{"style":517},[934],{"type":437,"value":935},":2377\n",{"type":431,"tag":483,"props":937,"children":939},{"start":938},5,[940],{"type":431,"tag":456,"props":941,"children":942},{},[943],{"type":437,"value":944},"Create a Compose File",{"type":431,"tag":492,"props":946,"children":949},{"className":494,"code":947,"filename":948,"language":497,"meta":414,"style":414},"sudo nano docker-compose.yml\n","# Install Logger and Nginx",[950],{"type":431,"tag":500,"props":951,"children":952},{"__ignoreMap":414},[953],{"type":431,"tag":504,"props":954,"children":955},{"class":506,"line":507},[956,960,965],{"type":431,"tag":504,"props":957,"children":958},{"style":511},[959],{"type":437,"value":514},{"type":431,"tag":504,"props":961,"children":962},{"style":517},[963],{"type":437,"value":964}," nano",{"type":431,"tag":504,"props":966,"children":967},{"style":517},[968],{"type":437,"value":969}," docker-compose.yml\n",{"type":431,"tag":439,"props":971,"children":972},{},[973],{"type":437,"value":974},"Add the following content:",{"type":431,"tag":492,"props":976,"children":980},{"className":977,"code":978,"filename":979,"language":979,"meta":414,"style":414},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","version: '3.8'\nservices:\n  randomapp:\n    image: dolusoft/logger-v1.0\n    deploy:\n      mode: replicated\n      replicas: 20\n      placement:\n        constraints:\n          - node.role == worker\n      update_config:\n        parallelism: 2\n        delay: 10s\n        order: start-first\n      restart_policy:\n        condition: any\n        delay: 5s\n        max_attempts: 3\n        window: 120s\n      resources:\n        limits:\n          cpus: '0.5'\n          memory: 512M\n        reservations:\n          cpus: '0.25'\n          memory: 256M\n\n  nginx:\n    image: nginx:latest\n    ports:\n      - \"80:80\"\n    volumes:\n      - ./nginx.conf:/etc/nginx/nginx.conf:ro\n    deploy:\n      mode: replicated\n      replicas: 2\n      placement:\n        constraints:\n          - node.role == manager\n      update_config:\n        parallelism: 1\n        delay: 10s\n      restart_policy:\n        condition: any\n        delay: 5s\n\nnetworks:\n  app-network:\n    driver: overlay\n    attachable: true\n","yaml",[981],{"type":431,"tag":500,"props":982,"children":983},{"__ignoreMap":414},[984,1013,1026,1038,1055,1067,1085,1104,1117,1130,1144,1157,1175,1193,1211,1224,1242,1259,1277,1295,1308,1321,1347,1365,1378,1403,1420,1430,1443,1460,1473,1496,1509,1522,1534,1550,1566,1578,1590,1603,1615,1632,1648,1660,1676,1692,1700,1713,1726,1744],{"type":431,"tag":504,"props":985,"children":986},{"class":506,"line":507},[987,993,998,1003,1008],{"type":431,"tag":504,"props":988,"children":990},{"style":989},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[991],{"type":437,"value":992},"version",{"type":431,"tag":504,"props":994,"children":995},{"style":533},[996],{"type":437,"value":997},":",{"type":431,"tag":504,"props":999,"children":1000},{"style":533},[1001],{"type":437,"value":1002}," '",{"type":431,"tag":504,"props":1004,"children":1005},{"style":517},[1006],{"type":437,"value":1007},"3.8",{"type":431,"tag":504,"props":1009,"children":1010},{"style":533},[1011],{"type":437,"value":1012},"'\n",{"type":431,"tag":504,"props":1014,"children":1015},{"class":506,"line":642},[1016,1021],{"type":431,"tag":504,"props":1017,"children":1018},{"style":989},[1019],{"type":437,"value":1020},"services",{"type":431,"tag":504,"props":1022,"children":1023},{"style":533},[1024],{"type":437,"value":1025},":\n",{"type":431,"tag":504,"props":1027,"children":1028},{"class":506,"line":789},[1029,1034],{"type":431,"tag":504,"props":1030,"children":1031},{"style":989},[1032],{"type":437,"value":1033},"  randomapp",{"type":431,"tag":504,"props":1035,"children":1036},{"style":533},[1037],{"type":437,"value":1025},{"type":431,"tag":504,"props":1039,"children":1040},{"class":506,"line":854},[1041,1046,1050],{"type":431,"tag":504,"props":1042,"children":1043},{"style":989},[1044],{"type":437,"value":1045},"    image",{"type":431,"tag":504,"props":1047,"children":1048},{"style":533},[1049],{"type":437,"value":997},{"type":431,"tag":504,"props":1051,"children":1052},{"style":517},[1053],{"type":437,"value":1054}," dolusoft/logger-v1.0\n",{"type":431,"tag":504,"props":1056,"children":1057},{"class":506,"line":938},[1058,1063],{"type":431,"tag":504,"props":1059,"children":1060},{"style":989},[1061],{"type":437,"value":1062},"    deploy",{"type":431,"tag":504,"props":1064,"children":1065},{"style":533},[1066],{"type":437,"value":1025},{"type":431,"tag":504,"props":1068,"children":1070},{"class":506,"line":1069},6,[1071,1076,1080],{"type":431,"tag":504,"props":1072,"children":1073},{"style":989},[1074],{"type":437,"value":1075},"      mode",{"type":431,"tag":504,"props":1077,"children":1078},{"style":533},[1079],{"type":437,"value":997},{"type":431,"tag":504,"props":1081,"children":1082},{"style":517},[1083],{"type":437,"value":1084}," replicated\n",{"type":431,"tag":504,"props":1086,"children":1088},{"class":506,"line":1087},7,[1089,1094,1098],{"type":431,"tag":504,"props":1090,"children":1091},{"style":989},[1092],{"type":437,"value":1093},"      replicas",{"type":431,"tag":504,"props":1095,"children":1096},{"style":533},[1097],{"type":437,"value":997},{"type":431,"tag":504,"props":1099,"children":1101},{"style":1100},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[1102],{"type":437,"value":1103}," 20\n",{"type":431,"tag":504,"props":1105,"children":1107},{"class":506,"line":1106},8,[1108,1113],{"type":431,"tag":504,"props":1109,"children":1110},{"style":989},[1111],{"type":437,"value":1112},"      placement",{"type":431,"tag":504,"props":1114,"children":1115},{"style":533},[1116],{"type":437,"value":1025},{"type":431,"tag":504,"props":1118,"children":1120},{"class":506,"line":1119},9,[1121,1126],{"type":431,"tag":504,"props":1122,"children":1123},{"style":989},[1124],{"type":437,"value":1125},"        constraints",{"type":431,"tag":504,"props":1127,"children":1128},{"style":533},[1129],{"type":437,"value":1025},{"type":431,"tag":504,"props":1131,"children":1133},{"class":506,"line":1132},10,[1134,1139],{"type":431,"tag":504,"props":1135,"children":1136},{"style":533},[1137],{"type":437,"value":1138},"          -",{"type":431,"tag":504,"props":1140,"children":1141},{"style":517},[1142],{"type":437,"value":1143}," node.role == worker\n",{"type":431,"tag":504,"props":1145,"children":1147},{"class":506,"line":1146},11,[1148,1153],{"type":431,"tag":504,"props":1149,"children":1150},{"style":989},[1151],{"type":437,"value":1152},"      update_config",{"type":431,"tag":504,"props":1154,"children":1155},{"style":533},[1156],{"type":437,"value":1025},{"type":431,"tag":504,"props":1158,"children":1160},{"class":506,"line":1159},12,[1161,1166,1170],{"type":431,"tag":504,"props":1162,"children":1163},{"style":989},[1164],{"type":437,"value":1165},"        parallelism",{"type":431,"tag":504,"props":1167,"children":1168},{"style":533},[1169],{"type":437,"value":997},{"type":431,"tag":504,"props":1171,"children":1172},{"style":1100},[1173],{"type":437,"value":1174}," 2\n",{"type":431,"tag":504,"props":1176,"children":1178},{"class":506,"line":1177},13,[1179,1184,1188],{"type":431,"tag":504,"props":1180,"children":1181},{"style":989},[1182],{"type":437,"value":1183},"        delay",{"type":431,"tag":504,"props":1185,"children":1186},{"style":533},[1187],{"type":437,"value":997},{"type":431,"tag":504,"props":1189,"children":1190},{"style":517},[1191],{"type":437,"value":1192}," 10s\n",{"type":431,"tag":504,"props":1194,"children":1196},{"class":506,"line":1195},14,[1197,1202,1206],{"type":431,"tag":504,"props":1198,"children":1199},{"style":989},[1200],{"type":437,"value":1201},"        order",{"type":431,"tag":504,"props":1203,"children":1204},{"style":533},[1205],{"type":437,"value":997},{"type":431,"tag":504,"props":1207,"children":1208},{"style":517},[1209],{"type":437,"value":1210}," start-first\n",{"type":431,"tag":504,"props":1212,"children":1214},{"class":506,"line":1213},15,[1215,1220],{"type":431,"tag":504,"props":1216,"children":1217},{"style":989},[1218],{"type":437,"value":1219},"      restart_policy",{"type":431,"tag":504,"props":1221,"children":1222},{"style":533},[1223],{"type":437,"value":1025},{"type":431,"tag":504,"props":1225,"children":1227},{"class":506,"line":1226},16,[1228,1233,1237],{"type":431,"tag":504,"props":1229,"children":1230},{"style":989},[1231],{"type":437,"value":1232},"        condition",{"type":431,"tag":504,"props":1234,"children":1235},{"style":533},[1236],{"type":437,"value":997},{"type":431,"tag":504,"props":1238,"children":1239},{"style":517},[1240],{"type":437,"value":1241}," any\n",{"type":431,"tag":504,"props":1243,"children":1245},{"class":506,"line":1244},17,[1246,1250,1254],{"type":431,"tag":504,"props":1247,"children":1248},{"style":989},[1249],{"type":437,"value":1183},{"type":431,"tag":504,"props":1251,"children":1252},{"style":533},[1253],{"type":437,"value":997},{"type":431,"tag":504,"props":1255,"children":1256},{"style":517},[1257],{"type":437,"value":1258}," 5s\n",{"type":431,"tag":504,"props":1260,"children":1262},{"class":506,"line":1261},18,[1263,1268,1272],{"type":431,"tag":504,"props":1264,"children":1265},{"style":989},[1266],{"type":437,"value":1267},"        max_attempts",{"type":431,"tag":504,"props":1269,"children":1270},{"style":533},[1271],{"type":437,"value":997},{"type":431,"tag":504,"props":1273,"children":1274},{"style":1100},[1275],{"type":437,"value":1276}," 3\n",{"type":431,"tag":504,"props":1278,"children":1280},{"class":506,"line":1279},19,[1281,1286,1290],{"type":431,"tag":504,"props":1282,"children":1283},{"style":989},[1284],{"type":437,"value":1285},"        window",{"type":431,"tag":504,"props":1287,"children":1288},{"style":533},[1289],{"type":437,"value":997},{"type":431,"tag":504,"props":1291,"children":1292},{"style":517},[1293],{"type":437,"value":1294}," 120s\n",{"type":431,"tag":504,"props":1296,"children":1298},{"class":506,"line":1297},20,[1299,1304],{"type":431,"tag":504,"props":1300,"children":1301},{"style":989},[1302],{"type":437,"value":1303},"      resources",{"type":431,"tag":504,"props":1305,"children":1306},{"style":533},[1307],{"type":437,"value":1025},{"type":431,"tag":504,"props":1309,"children":1311},{"class":506,"line":1310},21,[1312,1317],{"type":431,"tag":504,"props":1313,"children":1314},{"style":989},[1315],{"type":437,"value":1316},"        limits",{"type":431,"tag":504,"props":1318,"children":1319},{"style":533},[1320],{"type":437,"value":1025},{"type":431,"tag":504,"props":1322,"children":1324},{"class":506,"line":1323},22,[1325,1330,1334,1338,1343],{"type":431,"tag":504,"props":1326,"children":1327},{"style":989},[1328],{"type":437,"value":1329},"          cpus",{"type":431,"tag":504,"props":1331,"children":1332},{"style":533},[1333],{"type":437,"value":997},{"type":431,"tag":504,"props":1335,"children":1336},{"style":533},[1337],{"type":437,"value":1002},{"type":431,"tag":504,"props":1339,"children":1340},{"style":517},[1341],{"type":437,"value":1342},"0.5",{"type":431,"tag":504,"props":1344,"children":1345},{"style":533},[1346],{"type":437,"value":1012},{"type":431,"tag":504,"props":1348,"children":1350},{"class":506,"line":1349},23,[1351,1356,1360],{"type":431,"tag":504,"props":1352,"children":1353},{"style":989},[1354],{"type":437,"value":1355},"          memory",{"type":431,"tag":504,"props":1357,"children":1358},{"style":533},[1359],{"type":437,"value":997},{"type":431,"tag":504,"props":1361,"children":1362},{"style":517},[1363],{"type":437,"value":1364}," 512M\n",{"type":431,"tag":504,"props":1366,"children":1368},{"class":506,"line":1367},24,[1369,1374],{"type":431,"tag":504,"props":1370,"children":1371},{"style":989},[1372],{"type":437,"value":1373},"        reservations",{"type":431,"tag":504,"props":1375,"children":1376},{"style":533},[1377],{"type":437,"value":1025},{"type":431,"tag":504,"props":1379,"children":1381},{"class":506,"line":1380},25,[1382,1386,1390,1394,1399],{"type":431,"tag":504,"props":1383,"children":1384},{"style":989},[1385],{"type":437,"value":1329},{"type":431,"tag":504,"props":1387,"children":1388},{"style":533},[1389],{"type":437,"value":997},{"type":431,"tag":504,"props":1391,"children":1392},{"style":533},[1393],{"type":437,"value":1002},{"type":431,"tag":504,"props":1395,"children":1396},{"style":517},[1397],{"type":437,"value":1398},"0.25",{"type":431,"tag":504,"props":1400,"children":1401},{"style":533},[1402],{"type":437,"value":1012},{"type":431,"tag":504,"props":1404,"children":1406},{"class":506,"line":1405},26,[1407,1411,1415],{"type":431,"tag":504,"props":1408,"children":1409},{"style":989},[1410],{"type":437,"value":1355},{"type":431,"tag":504,"props":1412,"children":1413},{"style":533},[1414],{"type":437,"value":997},{"type":431,"tag":504,"props":1416,"children":1417},{"style":517},[1418],{"type":437,"value":1419}," 256M\n",{"type":431,"tag":504,"props":1421,"children":1423},{"class":506,"line":1422},27,[1424],{"type":431,"tag":504,"props":1425,"children":1427},{"emptyLinePlaceholder":1426},true,[1428],{"type":437,"value":1429},"\n",{"type":431,"tag":504,"props":1431,"children":1433},{"class":506,"line":1432},28,[1434,1439],{"type":431,"tag":504,"props":1435,"children":1436},{"style":989},[1437],{"type":437,"value":1438},"  nginx",{"type":431,"tag":504,"props":1440,"children":1441},{"style":533},[1442],{"type":437,"value":1025},{"type":431,"tag":504,"props":1444,"children":1446},{"class":506,"line":1445},29,[1447,1451,1455],{"type":431,"tag":504,"props":1448,"children":1449},{"style":989},[1450],{"type":437,"value":1045},{"type":431,"tag":504,"props":1452,"children":1453},{"style":533},[1454],{"type":437,"value":997},{"type":431,"tag":504,"props":1456,"children":1457},{"style":517},[1458],{"type":437,"value":1459}," nginx:latest\n",{"type":431,"tag":504,"props":1461,"children":1463},{"class":506,"line":1462},30,[1464,1469],{"type":431,"tag":504,"props":1465,"children":1466},{"style":989},[1467],{"type":437,"value":1468},"    ports",{"type":431,"tag":504,"props":1470,"children":1471},{"style":533},[1472],{"type":437,"value":1025},{"type":431,"tag":504,"props":1474,"children":1476},{"class":506,"line":1475},31,[1477,1482,1486,1491],{"type":431,"tag":504,"props":1478,"children":1479},{"style":533},[1480],{"type":437,"value":1481},"      -",{"type":431,"tag":504,"props":1483,"children":1484},{"style":533},[1485],{"type":437,"value":678},{"type":431,"tag":504,"props":1487,"children":1488},{"style":517},[1489],{"type":437,"value":1490},"80:80",{"type":431,"tag":504,"props":1492,"children":1493},{"style":533},[1494],{"type":437,"value":1495},"\"\n",{"type":431,"tag":504,"props":1497,"children":1499},{"class":506,"line":1498},32,[1500,1505],{"type":431,"tag":504,"props":1501,"children":1502},{"style":989},[1503],{"type":437,"value":1504},"    volumes",{"type":431,"tag":504,"props":1506,"children":1507},{"style":533},[1508],{"type":437,"value":1025},{"type":431,"tag":504,"props":1510,"children":1512},{"class":506,"line":1511},33,[1513,1517],{"type":431,"tag":504,"props":1514,"children":1515},{"style":533},[1516],{"type":437,"value":1481},{"type":431,"tag":504,"props":1518,"children":1519},{"style":517},[1520],{"type":437,"value":1521}," ./nginx.conf:/etc/nginx/nginx.conf:ro\n",{"type":431,"tag":504,"props":1523,"children":1525},{"class":506,"line":1524},34,[1526,1530],{"type":431,"tag":504,"props":1527,"children":1528},{"style":989},[1529],{"type":437,"value":1062},{"type":431,"tag":504,"props":1531,"children":1532},{"style":533},[1533],{"type":437,"value":1025},{"type":431,"tag":504,"props":1535,"children":1537},{"class":506,"line":1536},35,[1538,1542,1546],{"type":431,"tag":504,"props":1539,"children":1540},{"style":989},[1541],{"type":437,"value":1075},{"type":431,"tag":504,"props":1543,"children":1544},{"style":533},[1545],{"type":437,"value":997},{"type":431,"tag":504,"props":1547,"children":1548},{"style":517},[1549],{"type":437,"value":1084},{"type":431,"tag":504,"props":1551,"children":1553},{"class":506,"line":1552},36,[1554,1558,1562],{"type":431,"tag":504,"props":1555,"children":1556},{"style":989},[1557],{"type":437,"value":1093},{"type":431,"tag":504,"props":1559,"children":1560},{"style":533},[1561],{"type":437,"value":997},{"type":431,"tag":504,"props":1563,"children":1564},{"style":1100},[1565],{"type":437,"value":1174},{"type":431,"tag":504,"props":1567,"children":1569},{"class":506,"line":1568},37,[1570,1574],{"type":431,"tag":504,"props":1571,"children":1572},{"style":989},[1573],{"type":437,"value":1112},{"type":431,"tag":504,"props":1575,"children":1576},{"style":533},[1577],{"type":437,"value":1025},{"type":431,"tag":504,"props":1579,"children":1581},{"class":506,"line":1580},38,[1582,1586],{"type":431,"tag":504,"props":1583,"children":1584},{"style":989},[1585],{"type":437,"value":1125},{"type":431,"tag":504,"props":1587,"children":1588},{"style":533},[1589],{"type":437,"value":1025},{"type":431,"tag":504,"props":1591,"children":1593},{"class":506,"line":1592},39,[1594,1598],{"type":431,"tag":504,"props":1595,"children":1596},{"style":533},[1597],{"type":437,"value":1138},{"type":431,"tag":504,"props":1599,"children":1600},{"style":517},[1601],{"type":437,"value":1602}," node.role == manager\n",{"type":431,"tag":504,"props":1604,"children":1606},{"class":506,"line":1605},40,[1607,1611],{"type":431,"tag":504,"props":1608,"children":1609},{"style":989},[1610],{"type":437,"value":1152},{"type":431,"tag":504,"props":1612,"children":1613},{"style":533},[1614],{"type":437,"value":1025},{"type":431,"tag":504,"props":1616,"children":1618},{"class":506,"line":1617},41,[1619,1623,1627],{"type":431,"tag":504,"props":1620,"children":1621},{"style":989},[1622],{"type":437,"value":1165},{"type":431,"tag":504,"props":1624,"children":1625},{"style":533},[1626],{"type":437,"value":997},{"type":431,"tag":504,"props":1628,"children":1629},{"style":1100},[1630],{"type":437,"value":1631}," 1\n",{"type":431,"tag":504,"props":1633,"children":1635},{"class":506,"line":1634},42,[1636,1640,1644],{"type":431,"tag":504,"props":1637,"children":1638},{"style":989},[1639],{"type":437,"value":1183},{"type":431,"tag":504,"props":1641,"children":1642},{"style":533},[1643],{"type":437,"value":997},{"type":431,"tag":504,"props":1645,"children":1646},{"style":517},[1647],{"type":437,"value":1192},{"type":431,"tag":504,"props":1649,"children":1651},{"class":506,"line":1650},43,[1652,1656],{"type":431,"tag":504,"props":1653,"children":1654},{"style":989},[1655],{"type":437,"value":1219},{"type":431,"tag":504,"props":1657,"children":1658},{"style":533},[1659],{"type":437,"value":1025},{"type":431,"tag":504,"props":1661,"children":1663},{"class":506,"line":1662},44,[1664,1668,1672],{"type":431,"tag":504,"props":1665,"children":1666},{"style":989},[1667],{"type":437,"value":1232},{"type":431,"tag":504,"props":1669,"children":1670},{"style":533},[1671],{"type":437,"value":997},{"type":431,"tag":504,"props":1673,"children":1674},{"style":517},[1675],{"type":437,"value":1241},{"type":431,"tag":504,"props":1677,"children":1679},{"class":506,"line":1678},45,[1680,1684,1688],{"type":431,"tag":504,"props":1681,"children":1682},{"style":989},[1683],{"type":437,"value":1183},{"type":431,"tag":504,"props":1685,"children":1686},{"style":533},[1687],{"type":437,"value":997},{"type":431,"tag":504,"props":1689,"children":1690},{"style":517},[1691],{"type":437,"value":1258},{"type":431,"tag":504,"props":1693,"children":1695},{"class":506,"line":1694},46,[1696],{"type":431,"tag":504,"props":1697,"children":1698},{"emptyLinePlaceholder":1426},[1699],{"type":437,"value":1429},{"type":431,"tag":504,"props":1701,"children":1703},{"class":506,"line":1702},47,[1704,1709],{"type":431,"tag":504,"props":1705,"children":1706},{"style":989},[1707],{"type":437,"value":1708},"networks",{"type":431,"tag":504,"props":1710,"children":1711},{"style":533},[1712],{"type":437,"value":1025},{"type":431,"tag":504,"props":1714,"children":1716},{"class":506,"line":1715},48,[1717,1722],{"type":431,"tag":504,"props":1718,"children":1719},{"style":989},[1720],{"type":437,"value":1721},"  app-network",{"type":431,"tag":504,"props":1723,"children":1724},{"style":533},[1725],{"type":437,"value":1025},{"type":431,"tag":504,"props":1727,"children":1729},{"class":506,"line":1728},49,[1730,1735,1739],{"type":431,"tag":504,"props":1731,"children":1732},{"style":989},[1733],{"type":437,"value":1734},"    driver",{"type":431,"tag":504,"props":1736,"children":1737},{"style":533},[1738],{"type":437,"value":997},{"type":431,"tag":504,"props":1740,"children":1741},{"style":517},[1742],{"type":437,"value":1743}," overlay\n",{"type":431,"tag":504,"props":1745,"children":1747},{"class":506,"line":1746},50,[1748,1753,1757],{"type":431,"tag":504,"props":1749,"children":1750},{"style":989},[1751],{"type":437,"value":1752},"    attachable",{"type":431,"tag":504,"props":1754,"children":1755},{"style":533},[1756],{"type":437,"value":997},{"type":431,"tag":504,"props":1758,"children":1760},{"style":1759},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[1761],{"type":437,"value":1762}," true\n",{"type":431,"tag":483,"props":1764,"children":1765},{"start":1069},[1766],{"type":431,"tag":456,"props":1767,"children":1768},{},[1769],{"type":437,"value":1770},"Create a Nginx Config File",{"type":431,"tag":492,"props":1772,"children":1775},{"className":494,"code":1773,"filename":1774,"language":497,"meta":414,"style":414},"sudo nano nginx.conf\n","# Config Nginx",[1776],{"type":431,"tag":500,"props":1777,"children":1778},{"__ignoreMap":414},[1779],{"type":431,"tag":504,"props":1780,"children":1781},{"class":506,"line":507},[1782,1786,1790],{"type":431,"tag":504,"props":1783,"children":1784},{"style":511},[1785],{"type":437,"value":514},{"type":431,"tag":504,"props":1787,"children":1788},{"style":517},[1789],{"type":437,"value":964},{"type":431,"tag":504,"props":1791,"children":1792},{"style":517},[1793],{"type":437,"value":1794}," nginx.conf\n",{"type":431,"tag":439,"props":1796,"children":1797},{},[1798],{"type":437,"value":974},{"type":431,"tag":492,"props":1800,"children":1804},{"className":1801,"code":1802,"filename":1803,"language":1803,"meta":414,"style":414},"language-cfg shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","events {\n    worker_connections 4096;\n    multi_accept on;\n    use epoll;\n}\n\nhttp {\n    upstream logger_backend {\n        least_conn;\n        server logger:3000;\n        keepalive 32;\n    }\n\n    server {\n        listen 80;\n        \n        location / {\n            proxy_pass http://logger_backend;\n            proxy_http_version 1.1;\n            proxy_set_header Connection \"\";\n            proxy_set_header Host $host;\n            proxy_set_header X-Real-IP $remote_addr;\n            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n            \n            proxy_connect_timeout 60s;\n            proxy_send_timeout 60s;\n            proxy_read_timeout 60s;\n            \n            proxy_buffering on;\n            proxy_buffer_size 4k;\n            proxy_buffers 8 4k;\n        }\n        \n        location /health {\n            access_log off;\n            return 200 \"healthy\\n\";\n        }\n    }\n}\n","cfg",[1805],{"type":431,"tag":500,"props":1806,"children":1807},{"__ignoreMap":414},[1808,1816,1824,1832,1840,1848,1855,1863,1871,1879,1887,1895,1903,1910,1918,1926,1934,1942,1950,1958,1966,1974,1982,1990,1998,2006,2014,2022,2029,2037,2045,2053,2061,2068,2076,2084,2092,2099,2106],{"type":431,"tag":504,"props":1809,"children":1810},{"class":506,"line":507},[1811],{"type":431,"tag":504,"props":1812,"children":1813},{},[1814],{"type":437,"value":1815},"events {\n",{"type":431,"tag":504,"props":1817,"children":1818},{"class":506,"line":642},[1819],{"type":431,"tag":504,"props":1820,"children":1821},{},[1822],{"type":437,"value":1823},"    worker_connections 4096;\n",{"type":431,"tag":504,"props":1825,"children":1826},{"class":506,"line":789},[1827],{"type":431,"tag":504,"props":1828,"children":1829},{},[1830],{"type":437,"value":1831},"    multi_accept on;\n",{"type":431,"tag":504,"props":1833,"children":1834},{"class":506,"line":854},[1835],{"type":431,"tag":504,"props":1836,"children":1837},{},[1838],{"type":437,"value":1839},"    use epoll;\n",{"type":431,"tag":504,"props":1841,"children":1842},{"class":506,"line":938},[1843],{"type":431,"tag":504,"props":1844,"children":1845},{},[1846],{"type":437,"value":1847},"}\n",{"type":431,"tag":504,"props":1849,"children":1850},{"class":506,"line":1069},[1851],{"type":431,"tag":504,"props":1852,"children":1853},{"emptyLinePlaceholder":1426},[1854],{"type":437,"value":1429},{"type":431,"tag":504,"props":1856,"children":1857},{"class":506,"line":1087},[1858],{"type":431,"tag":504,"props":1859,"children":1860},{},[1861],{"type":437,"value":1862},"http {\n",{"type":431,"tag":504,"props":1864,"children":1865},{"class":506,"line":1106},[1866],{"type":431,"tag":504,"props":1867,"children":1868},{},[1869],{"type":437,"value":1870},"    upstream logger_backend {\n",{"type":431,"tag":504,"props":1872,"children":1873},{"class":506,"line":1119},[1874],{"type":431,"tag":504,"props":1875,"children":1876},{},[1877],{"type":437,"value":1878},"        least_conn;\n",{"type":431,"tag":504,"props":1880,"children":1881},{"class":506,"line":1132},[1882],{"type":431,"tag":504,"props":1883,"children":1884},{},[1885],{"type":437,"value":1886},"        server logger:3000;\n",{"type":431,"tag":504,"props":1888,"children":1889},{"class":506,"line":1146},[1890],{"type":431,"tag":504,"props":1891,"children":1892},{},[1893],{"type":437,"value":1894},"        keepalive 32;\n",{"type":431,"tag":504,"props":1896,"children":1897},{"class":506,"line":1159},[1898],{"type":431,"tag":504,"props":1899,"children":1900},{},[1901],{"type":437,"value":1902},"    }\n",{"type":431,"tag":504,"props":1904,"children":1905},{"class":506,"line":1177},[1906],{"type":431,"tag":504,"props":1907,"children":1908},{"emptyLinePlaceholder":1426},[1909],{"type":437,"value":1429},{"type":431,"tag":504,"props":1911,"children":1912},{"class":506,"line":1195},[1913],{"type":431,"tag":504,"props":1914,"children":1915},{},[1916],{"type":437,"value":1917},"    server {\n",{"type":431,"tag":504,"props":1919,"children":1920},{"class":506,"line":1213},[1921],{"type":431,"tag":504,"props":1922,"children":1923},{},[1924],{"type":437,"value":1925},"        listen 80;\n",{"type":431,"tag":504,"props":1927,"children":1928},{"class":506,"line":1226},[1929],{"type":431,"tag":504,"props":1930,"children":1931},{},[1932],{"type":437,"value":1933},"        \n",{"type":431,"tag":504,"props":1935,"children":1936},{"class":506,"line":1244},[1937],{"type":431,"tag":504,"props":1938,"children":1939},{},[1940],{"type":437,"value":1941},"        location / {\n",{"type":431,"tag":504,"props":1943,"children":1944},{"class":506,"line":1261},[1945],{"type":431,"tag":504,"props":1946,"children":1947},{},[1948],{"type":437,"value":1949},"            proxy_pass http://logger_backend;\n",{"type":431,"tag":504,"props":1951,"children":1952},{"class":506,"line":1279},[1953],{"type":431,"tag":504,"props":1954,"children":1955},{},[1956],{"type":437,"value":1957},"            proxy_http_version 1.1;\n",{"type":431,"tag":504,"props":1959,"children":1960},{"class":506,"line":1297},[1961],{"type":431,"tag":504,"props":1962,"children":1963},{},[1964],{"type":437,"value":1965},"            proxy_set_header Connection \"\";\n",{"type":431,"tag":504,"props":1967,"children":1968},{"class":506,"line":1310},[1969],{"type":431,"tag":504,"props":1970,"children":1971},{},[1972],{"type":437,"value":1973},"            proxy_set_header Host $host;\n",{"type":431,"tag":504,"props":1975,"children":1976},{"class":506,"line":1323},[1977],{"type":431,"tag":504,"props":1978,"children":1979},{},[1980],{"type":437,"value":1981},"            proxy_set_header X-Real-IP $remote_addr;\n",{"type":431,"tag":504,"props":1983,"children":1984},{"class":506,"line":1349},[1985],{"type":431,"tag":504,"props":1986,"children":1987},{},[1988],{"type":437,"value":1989},"            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n",{"type":431,"tag":504,"props":1991,"children":1992},{"class":506,"line":1367},[1993],{"type":431,"tag":504,"props":1994,"children":1995},{},[1996],{"type":437,"value":1997},"            \n",{"type":431,"tag":504,"props":1999,"children":2000},{"class":506,"line":1380},[2001],{"type":431,"tag":504,"props":2002,"children":2003},{},[2004],{"type":437,"value":2005},"            proxy_connect_timeout 60s;\n",{"type":431,"tag":504,"props":2007,"children":2008},{"class":506,"line":1405},[2009],{"type":431,"tag":504,"props":2010,"children":2011},{},[2012],{"type":437,"value":2013},"            proxy_send_timeout 60s;\n",{"type":431,"tag":504,"props":2015,"children":2016},{"class":506,"line":1422},[2017],{"type":431,"tag":504,"props":2018,"children":2019},{},[2020],{"type":437,"value":2021},"            proxy_read_timeout 60s;\n",{"type":431,"tag":504,"props":2023,"children":2024},{"class":506,"line":1432},[2025],{"type":431,"tag":504,"props":2026,"children":2027},{},[2028],{"type":437,"value":1997},{"type":431,"tag":504,"props":2030,"children":2031},{"class":506,"line":1445},[2032],{"type":431,"tag":504,"props":2033,"children":2034},{},[2035],{"type":437,"value":2036},"            proxy_buffering on;\n",{"type":431,"tag":504,"props":2038,"children":2039},{"class":506,"line":1462},[2040],{"type":431,"tag":504,"props":2041,"children":2042},{},[2043],{"type":437,"value":2044},"            proxy_buffer_size 4k;\n",{"type":431,"tag":504,"props":2046,"children":2047},{"class":506,"line":1475},[2048],{"type":431,"tag":504,"props":2049,"children":2050},{},[2051],{"type":437,"value":2052},"            proxy_buffers 8 4k;\n",{"type":431,"tag":504,"props":2054,"children":2055},{"class":506,"line":1498},[2056],{"type":431,"tag":504,"props":2057,"children":2058},{},[2059],{"type":437,"value":2060},"        }\n",{"type":431,"tag":504,"props":2062,"children":2063},{"class":506,"line":1511},[2064],{"type":431,"tag":504,"props":2065,"children":2066},{},[2067],{"type":437,"value":1933},{"type":431,"tag":504,"props":2069,"children":2070},{"class":506,"line":1524},[2071],{"type":431,"tag":504,"props":2072,"children":2073},{},[2074],{"type":437,"value":2075},"        location /health {\n",{"type":431,"tag":504,"props":2077,"children":2078},{"class":506,"line":1536},[2079],{"type":431,"tag":504,"props":2080,"children":2081},{},[2082],{"type":437,"value":2083},"            access_log off;\n",{"type":431,"tag":504,"props":2085,"children":2086},{"class":506,"line":1552},[2087],{"type":431,"tag":504,"props":2088,"children":2089},{},[2090],{"type":437,"value":2091},"            return 200 \"healthy\\n\";\n",{"type":431,"tag":504,"props":2093,"children":2094},{"class":506,"line":1568},[2095],{"type":431,"tag":504,"props":2096,"children":2097},{},[2098],{"type":437,"value":2060},{"type":431,"tag":504,"props":2100,"children":2101},{"class":506,"line":1580},[2102],{"type":431,"tag":504,"props":2103,"children":2104},{},[2105],{"type":437,"value":1902},{"type":431,"tag":504,"props":2107,"children":2108},{"class":506,"line":1592},[2109],{"type":431,"tag":504,"props":2110,"children":2111},{},[2112],{"type":437,"value":1847},{"type":431,"tag":483,"props":2114,"children":2115},{"start":1087},[2116],{"type":431,"tag":456,"props":2117,"children":2118},{},[2119],{"type":437,"value":2120},"Deploy Stack",{"type":431,"tag":492,"props":2122,"children":2125},{"className":494,"code":2123,"filename":2124,"language":497,"meta":414,"style":414},"docker stack deploy -c docker-compose.yml logger-stack\n","# Deploy stack",[2126],{"type":431,"tag":500,"props":2127,"children":2128},{"__ignoreMap":414},[2129],{"type":431,"tag":504,"props":2130,"children":2131},{"class":506,"line":507},[2132,2137,2142,2147,2152,2157],{"type":431,"tag":504,"props":2133,"children":2134},{"style":511},[2135],{"type":437,"value":2136},"docker",{"type":431,"tag":504,"props":2138,"children":2139},{"style":517},[2140],{"type":437,"value":2141}," stack",{"type":431,"tag":504,"props":2143,"children":2144},{"style":517},[2145],{"type":437,"value":2146}," deploy",{"type":431,"tag":504,"props":2148,"children":2149},{"style":517},[2150],{"type":437,"value":2151}," -c",{"type":431,"tag":504,"props":2153,"children":2154},{"style":517},[2155],{"type":437,"value":2156}," docker-compose.yml",{"type":431,"tag":504,"props":2158,"children":2159},{"style":517},[2160],{"type":437,"value":2161}," logger-stack\n",{"type":431,"tag":483,"props":2163,"children":2164},{"start":1106},[2165],{"type":431,"tag":456,"props":2166,"children":2167},{},[2168],{"type":437,"value":2169},"List Docker Service",{"type":431,"tag":492,"props":2171,"children":2173},{"className":494,"code":2172,"language":497,"meta":414,"style":414},"docker service ls\n",[2174],{"type":431,"tag":500,"props":2175,"children":2176},{"__ignoreMap":414},[2177],{"type":431,"tag":504,"props":2178,"children":2179},{"class":506,"line":507},[2180,2184,2189],{"type":431,"tag":504,"props":2181,"children":2182},{"style":511},[2183],{"type":437,"value":2136},{"type":431,"tag":504,"props":2185,"children":2186},{"style":517},[2187],{"type":437,"value":2188}," service",{"type":431,"tag":504,"props":2190,"children":2191},{"style":517},[2192],{"type":437,"value":2193}," ls\n",{"type":431,"tag":483,"props":2195,"children":2196},{"start":1119},[2197],{"type":431,"tag":456,"props":2198,"children":2199},{},[2200],{"type":437,"value":2201},"Viewing Running Containers of Logger Service",{"type":431,"tag":492,"props":2203,"children":2205},{"className":494,"code":2204,"language":497,"meta":414,"style":414},"docker service ps logger-stack_logger\n",[2206],{"type":431,"tag":500,"props":2207,"children":2208},{"__ignoreMap":414},[2209],{"type":431,"tag":504,"props":2210,"children":2211},{"class":506,"line":507},[2212,2216,2220,2225],{"type":431,"tag":504,"props":2213,"children":2214},{"style":511},[2215],{"type":437,"value":2136},{"type":431,"tag":504,"props":2217,"children":2218},{"style":517},[2219],{"type":437,"value":2188},{"type":431,"tag":504,"props":2221,"children":2222},{"style":517},[2223],{"type":437,"value":2224}," ps",{"type":431,"tag":504,"props":2226,"children":2227},{"style":517},[2228],{"type":437,"value":2229}," logger-stack_logger\n",{"type":431,"tag":483,"props":2231,"children":2232},{"start":1132},[2233],{"type":431,"tag":456,"props":2234,"children":2235},{},[2236],{"type":437,"value":2237},"Sending HTTP Request to Nginx from Container for Testing",{"type":431,"tag":492,"props":2239,"children":2241},{"className":494,"code":2240,"language":497,"meta":414,"style":414},"curl http://[SWARM_IP]\n",[2242],{"type":431,"tag":500,"props":2243,"children":2244},{"__ignoreMap":414},[2245],{"type":431,"tag":504,"props":2246,"children":2247},{"class":506,"line":507},[2248,2253],{"type":431,"tag":504,"props":2249,"children":2250},{"style":511},[2251],{"type":437,"value":2252},"curl",{"type":431,"tag":504,"props":2254,"children":2255},{"style":517},[2256],{"type":437,"value":2257}," http://[SWARM_IP]\n",{"type":431,"tag":483,"props":2259,"children":2260},{"start":1146},[2261],{"type":431,"tag":456,"props":2262,"children":2263},{},[2264],{"type":437,"value":2265},"Viewing Service logs",{"type":431,"tag":492,"props":2267,"children":2269},{"className":494,"code":2268,"language":497,"meta":414,"style":414},"docker service logs logger-stack_logger\n",[2270],{"type":431,"tag":500,"props":2271,"children":2272},{"__ignoreMap":414},[2273],{"type":431,"tag":504,"props":2274,"children":2275},{"class":506,"line":507},[2276,2280,2284,2289],{"type":431,"tag":504,"props":2277,"children":2278},{"style":511},[2279],{"type":437,"value":2136},{"type":431,"tag":504,"props":2281,"children":2282},{"style":517},[2283],{"type":437,"value":2188},{"type":431,"tag":504,"props":2285,"children":2286},{"style":517},[2287],{"type":437,"value":2288}," logs",{"type":431,"tag":504,"props":2290,"children":2291},{"style":517},[2292],{"type":437,"value":2229},{"type":431,"tag":432,"props":2294,"children":2296},{"id":2295},"here-are-some-blogs-you-can-read-but-there-are-many-others",[2297],{"type":437,"value":2298},"Here are some blogs you can read... but there are many others !",{"type":431,"tag":2300,"props":2301,"children":2302},"card-group",{},[2303,2315,2325,2335,2344,2354],{"type":431,"tag":2304,"props":2305,"children":2309},"card",{"target":2306,"title":2307,"to":2308},"_blank","Docker On Windows","https://ui.nuxt.com/components/accordion",[2310],{"type":431,"tag":439,"props":2311,"children":2312},{},[2313],{"type":437,"value":2314},"Display togglable accordion panels.",{"type":431,"tag":2304,"props":2316,"children":2319},{"target":2306,"title":2317,"to":2318},"Docker On Ubuntu","https://ui.nuxt.com/components/carousel",[2320],{"type":431,"tag":439,"props":2321,"children":2322},{},[2323],{"type":437,"value":2324},"Display images or content in a scrollable area.",{"type":431,"tag":2304,"props":2326,"children":2329},{"target":2306,"title":2327,"to":2328},"Fortigate Syslog Configuration","https://ui.nuxt.com/components/command-palette",[2330],{"type":431,"tag":439,"props":2331,"children":2332},{},[2333],{"type":437,"value":2334},"Add a customizable command palette to your app.",{"type":431,"tag":2304,"props":2336,"children":2338},{"target":2306,"title":62,"to":2337},"https://ui.nuxt.com/components/popover",[2339],{"type":431,"tag":439,"props":2340,"children":2341},{},[2342],{"type":437,"value":2343},"Display a non-modal dialog that floats around a trigger element.",{"type":431,"tag":2304,"props":2345,"children":2348},{"target":2306,"title":2346,"to":2347},"Load Balance Using Docker Swarm","https://ui.nuxt.com/components/range",[2349],{"type":431,"tag":439,"props":2350,"children":2351},{},[2352],{"type":437,"value":2353},"Display a range field",{"type":431,"tag":2304,"props":2355,"children":2358},{"target":2306,"title":2356,"to":2357},"Enable Web URL Logging on Fortigate","https://ui.nuxt.com/components/table",[2359],{"type":431,"tag":439,"props":2360,"children":2361},{},[2362],{"type":437,"value":2363},"Display data in a table.",{"type":431,"tag":2365,"props":2366,"children":2367},"style",{},[2368],{"type":437,"value":2369},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":414,"searchDepth":642,"depth":642,"links":2371},[2372,2375,2376],{"id":434,"depth":642,"text":13,"children":2373},[2374],{"id":447,"depth":789,"text":450},{"id":478,"depth":642,"text":481},{"id":2295,"depth":642,"text":2298},"markdown","content:en:13.blog:2.ai-module.md","content","en/13.blog/2.ai-module.md","en/13.blog/2.ai-module","md",[2384,2393],{"_path":196,"_dir":412,"_draft":413,"_partial":413,"_locale":414,"title":195,"description":415,"image":2385,"authors":2386,"date":424,"badge":2389,"_type":2377,"_id":2390,"_source":2379,"_file":2391,"_stem":2392,"_extension":2382},{"src":417},[2387],{"name":420,"to":421,"avatar":2388},{"src":423},{"label":426},"content:en:13.blog:1.load-balance-config.md","en/13.blog/1.load-balance-config.md","en/13.blog/1.load-balance-config",{"_path":202,"_dir":412,"_draft":413,"_partial":413,"_locale":414,"title":201,"description":414,"_type":2377,"_id":2394,"_source":2379,"_file":2395,"_stem":2396,"_extension":2382},"content:en:13.blog:3.how-to-config-fortigate-syslog.md","en/13.blog/3.how-to-config-fortigate-syslog.md","en/13.blog/3.how-to-config-fortigate-syslog",1775654251491]