[{"data":1,"prerenderedAt":1144},["ShallowReactive",2],{"wiki-mailcow":3},{"id":4,"title":5,"body":6,"description":1132,"extension":1133,"meta":1134,"navigation":1139,"path":1140,"seo":1141,"stem":1142,"__hash__":1143},"wiki/wiki/mailcow.md","Как установить mailcow через Docker",{"type":7,"value":8,"toc":1117},"minimark",[9,14,19,24,28,56,60,63,84,87,105,109,113,118,140,177,181,209,213,255,268,271,283,286,318,337,340,355,381,395,398,415,433,448,459,462,472,476,487,491,501,514,518,529,542,545,563,576,580,629,680,695,707,710,714,717,727,747,764,792,795,809,817,819,822,827,836,849,858,871,886,898,903,912,918,931,933,937,940,945,960,977,982,993,1006,1009,1025,1027,1031,1035,1041,1081,1085,1093,1095,1099,1113],[10,11,13],"h1",{"id":12},"установка-mailcow","Установка mailcow",[15,16,18],"h2",{"id":17},"требования","Требования",[20,21,23],"h3",{"id":22},"системные-пакеты","Системные пакеты",[25,26,27],"p",{},"Для работы mailcow необходимы следующие пакеты Linux (могут потребовать установки в зависимости от вашего дистрибутива):",[29,30,31,35,38,41,44,47,50,53],"ul",{},[32,33,34],"li",{},"git",[32,36,37],{},"openssl",[32,39,40],{},"curl",[32,42,43],{},"awk",[32,45,46],{},"sha1sum",[32,48,49],{},"grep",[32,51,52],{},"cut",[32,54,55],{},"jq",[20,57,59],{"id":58},"docker-и-docker-compose","Docker и Docker Compose",[25,61,62],{},"Для установки потребуются:",[29,64,65,76],{},[32,66,67,71,72],{},[68,69,70],"strong",{},"Docker",": версия ",[73,74,75],"code",{},">= 24.0.0",[32,77,78,71,81],{},[68,79,80],{},"Docker Compose",[73,82,83],{},">= 2.0",[25,85,86],{},"Руководства по установке:",[29,88,89,98],{},[32,90,91],{},[92,93,97],"a",{"href":94,"rel":95},"https://docs.docker.com/install/",[96],"nofollow","Установка Docker",[32,99,100],{},[92,101,104],{"href":102,"rel":103},"https://docs.docker.com/compose/install/",[96],"Установка Docker Compose",[20,106,108],{"id":107},"быстрая-установка","Быстрая установка",[110,111,23],"h4",{"id":112},"системные-пакеты-1",[114,115,117],"h5",{"id":116},"debianubuntu","Debian/Ubuntu:",[119,120,125],"pre",{"className":121,"code":122,"language":123,"meta":124,"style":124},"language-bash shiki shiki-themes github-dark","apt update\n","bash","",[73,126,127],{"__ignoreMap":124},[128,129,132,136],"span",{"class":130,"line":131},"line",1,[128,133,135],{"class":134},"svObZ","apt",[128,137,139],{"class":138},"sU2Wk"," update\n",[119,141,143],{"className":121,"code":142,"language":123,"meta":124,"style":124},"apt install -y git openssl curl gawk coreutils grep jq\n",[73,144,145],{"__ignoreMap":124},[128,146,147,149,152,156,159,162,165,168,171,174],{"class":130,"line":131},[128,148,135],{"class":134},[128,150,151],{"class":138}," install",[128,153,155],{"class":154},"sDLfK"," -y",[128,157,158],{"class":138}," git",[128,160,161],{"class":138}," openssl",[128,163,164],{"class":138}," curl",[128,166,167],{"class":138}," gawk",[128,169,170],{"class":138}," coreutils",[128,172,173],{"class":138}," grep",[128,175,176],{"class":138}," jq\n",[114,178,180],{"id":179},"rhel-based-дистрибутивы-например-rocky-linux-9","RHEL-based дистрибутивы (например, Rocky Linux 9):",[119,182,184],{"className":121,"code":183,"language":123,"meta":124,"style":124},"dnf install -y git openssl curl gawk coreutils grep jq\n",[73,185,186],{"__ignoreMap":124},[128,187,188,191,193,195,197,199,201,203,205,207],{"class":130,"line":131},[128,189,190],{"class":134},"dnf",[128,192,151],{"class":138},[128,194,155],{"class":154},[128,196,158],{"class":138},[128,198,161],{"class":138},[128,200,164],{"class":138},[128,202,167],{"class":138},[128,204,170],{"class":138},[128,206,173],{"class":138},[128,208,176],{"class":138},[114,210,212],{"id":211},"alpine-linux-например-322","Alpine Linux (например, 3.22):",[119,214,216],{"className":121,"code":215,"language":123,"meta":124,"style":124},"apk add --no-cache --upgrade sed findutils bash git openssl curl gawk coreutils grep jq\n",[73,217,218],{"__ignoreMap":124},[128,219,220,223,226,229,232,235,238,241,243,245,247,249,251,253],{"class":130,"line":131},[128,221,222],{"class":134},"apk",[128,224,225],{"class":138}," add",[128,227,228],{"class":154}," --no-cache",[128,230,231],{"class":154}," --upgrade",[128,233,234],{"class":138}," sed",[128,236,237],{"class":138}," findutils",[128,239,240],{"class":138}," bash",[128,242,158],{"class":138},[128,244,161],{"class":138},[128,246,164],{"class":138},[128,248,167],{"class":138},[128,250,170],{"class":138},[128,252,173],{"class":138},[128,254,176],{"class":138},[256,257,258],"blockquote",{},[25,259,260,263,264,267],{},[68,261,262],{},"Примечание:"," все программы, не указанные явно в процессе установки, уже включены как подпрограммы в пакет ",[73,265,266],{},"coreutils",".",[110,269,70],{"id":270},"docker",[256,272,273],{},[25,274,275,278,279,282],{},[68,276,277],{},"Важно:"," используйте ",[68,280,281],{},"последнюю доступную версию Docker Engine",", а не версию из стандартных репозиториев вашего дистрибутива Linux.",[114,284,117],{"id":285},"debianubuntu-1",[119,287,289],{"className":121,"code":288,"language":123,"meta":124,"style":124},"curl -sSL https://get.docker.com/ | CHANNEL=stable sh\n",[73,290,291],{"__ignoreMap":124},[128,292,293,295,298,301,305,309,312,315],{"class":130,"line":131},[128,294,40],{"class":134},[128,296,297],{"class":154}," -sSL",[128,299,300],{"class":138}," https://get.docker.com/",[128,302,304],{"class":303},"snl16"," |",[128,306,308],{"class":307},"s95oV"," CHANNEL",[128,310,311],{"class":303},"=",[128,313,314],{"class":138},"stable",[128,316,317],{"class":134}," sh\n",[119,319,321],{"className":121,"code":320,"language":123,"meta":124,"style":124},"systemctl enable --now docker\n",[73,322,323],{"__ignoreMap":124},[128,324,325,328,331,334],{"class":130,"line":131},[128,326,327],{"class":134},"systemctl",[128,329,330],{"class":138}," enable",[128,332,333],{"class":154}," --now",[128,335,336],{"class":138}," docker\n",[114,338,180],{"id":339},"rhel-based-дистрибутивы-например-rocky-linux-9-1",[119,341,343],{"className":121,"code":342,"language":123,"meta":124,"style":124},"dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo\n",[73,344,345],{"__ignoreMap":124},[128,346,347,349,352],{"class":130,"line":131},[128,348,190],{"class":134},[128,350,351],{"class":138}," config-manager",[128,353,354],{"class":154}," --add-repo=https://download.docker.com/linux/centos/docker-ce.repo\n",[119,356,358],{"className":121,"code":357,"language":123,"meta":124,"style":124},"dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n",[73,359,360],{"__ignoreMap":124},[128,361,362,364,366,369,372,375,378],{"class":130,"line":131},[128,363,190],{"class":134},[128,365,151],{"class":138},[128,367,368],{"class":138}," docker-ce",[128,370,371],{"class":138}," docker-ce-cli",[128,373,374],{"class":138}," containerd.io",[128,376,377],{"class":138}," docker-buildx-plugin",[128,379,380],{"class":138}," docker-compose-plugin\n",[119,382,383],{"className":121,"code":320,"language":123,"meta":124,"style":124},[73,384,385],{"__ignoreMap":124},[128,386,387,389,391,393],{"class":130,"line":131},[128,388,327],{"class":134},[128,390,330],{"class":138},[128,392,333],{"class":154},[128,394,336],{"class":138},[114,396,212],{"id":397},"alpine-linux-например-322-1",[119,399,401],{"className":121,"code":400,"language":123,"meta":124,"style":124},"apk --no-cache --upgrade add docker\n",[73,402,403],{"__ignoreMap":124},[128,404,405,407,409,411,413],{"class":130,"line":131},[128,406,222],{"class":134},[128,408,228],{"class":154},[128,410,231],{"class":154},[128,412,225],{"class":138},[128,414,336],{"class":138},[119,416,418],{"className":121,"code":417,"language":123,"meta":124,"style":124},"rc-update add docker default\n",[73,419,420],{"__ignoreMap":124},[128,421,422,425,427,430],{"class":130,"line":131},[128,423,424],{"class":134},"rc-update",[128,426,225],{"class":138},[128,428,429],{"class":138}," docker",[128,431,432],{"class":138}," default\n",[119,434,436],{"className":121,"code":435,"language":123,"meta":124,"style":124},"rc-service docker start\n",[73,437,438],{"__ignoreMap":124},[128,439,440,443,445],{"class":130,"line":131},[128,441,442],{"class":134},"rc-service",[128,444,429],{"class":138},[128,446,447],{"class":138}," start\n",[256,449,450],{},[25,451,452,454,455,458],{},[68,453,262],{}," скрипт ",[73,456,457],{},"get.docker.com"," работает нестабильно или вовсе не работает на RHEL и Alpine Linux. Используйте ручной метод установки.",[110,460,80],{"id":461},"docker-compose",[256,463,464],{},[25,465,466,469,470,267],{},[68,467,468],{},"Внимание:"," mailcow требует Docker Compose версии ",[73,471,83],{},[114,473,475],{"id":474},"установка-через-менеджер-пакетов-плагин","Установка через менеджер пакетов (плагин)",[256,477,478],{},[25,479,480,482,483,486],{},[68,481,262],{}," этот способ требует, чтобы репозиторий Docker был предварительно добавлен (см. раздел ",[92,484,70],{"href":485},"#docker",").",[488,489,117],"h6",{"id":490},"debianubuntu-2",[119,492,493],{"className":121,"code":122,"language":123,"meta":124,"style":124},[73,494,495],{"__ignoreMap":124},[128,496,497,499],{"class":130,"line":131},[128,498,135],{"class":134},[128,500,139],{"class":138},[119,502,504],{"className":121,"code":503,"language":123,"meta":124,"style":124},"apt install docker-compose-plugin\n",[73,505,506],{"__ignoreMap":124},[128,507,508,510,512],{"class":130,"line":131},[128,509,135],{"class":134},[128,511,151],{"class":138},[128,513,380],{"class":138},[488,515,517],{"id":516},"rhel-based-дистрибутивы","RHEL-based дистрибутивы:",[119,519,521],{"className":121,"code":520,"language":123,"meta":124,"style":124},"dnf update\n",[73,522,523],{"__ignoreMap":124},[128,524,525,527],{"class":130,"line":131},[128,526,190],{"class":134},[128,528,139],{"class":138},[119,530,532],{"className":121,"code":531,"language":123,"meta":124,"style":124},"dnf install docker-compose-plugin\n",[73,533,534],{"__ignoreMap":124},[128,535,536,538,540],{"class":130,"line":131},[128,537,190],{"class":134},[128,539,151],{"class":138},[128,541,380],{"class":138},[488,543,212],{"id":544},"alpine-linux-например-322-2",[119,546,548],{"className":121,"code":547,"language":123,"meta":124,"style":124},"apk add --no-cache --upgrade docker-cli-compose\n",[73,549,550],{"__ignoreMap":124},[128,551,552,554,556,558,560],{"class":130,"line":131},[128,553,222],{"class":134},[128,555,225],{"class":138},[128,557,228],{"class":154},[128,559,231],{"class":154},[128,561,562],{"class":138}," docker-cli-compose\n",[256,564,565],{},[25,566,567,569,570,575],{},[68,568,468],{}," при использовании плагина команда вызывается как ",[68,571,572],{},[73,573,574],{},"docker compose"," (без дефиса).",[114,577,579],{"id":578},"установка-как-отдельная-программа-standalone","Установка как отдельная программа (standalone)",[119,581,583],{"className":121,"code":582,"language":123,"meta":124,"style":124},"LATEST=$(curl -Ls -w %{url_effective} -o /dev/null https://github.com/docker/compose/releases/latest) && LATEST=${LATEST##*/}\n",[73,584,585],{"__ignoreMap":124},[128,586,587,590,592,595,597,600,603,606,609,612,615,618,620,623,626],{"class":130,"line":131},[128,588,589],{"class":307},"LATEST",[128,591,311],{"class":303},[128,593,594],{"class":307},"$(",[128,596,40],{"class":134},[128,598,599],{"class":154}," -Ls",[128,601,602],{"class":154}," -w",[128,604,605],{"class":138}," %{url_effective}",[128,607,608],{"class":154}," -o",[128,610,611],{"class":138}," /dev/null",[128,613,614],{"class":138}," https://github.com/docker/compose/releases/latest",[128,616,617],{"class":307},") && LATEST",[128,619,311],{"class":303},[128,621,622],{"class":307},"${LATEST",[128,624,625],{"class":303},"##*/",[128,627,628],{"class":307},"}\n",[119,630,632],{"className":121,"code":631,"language":123,"meta":124,"style":124},"curl -L https://github.com/docker/compose/releases/download/$LATEST/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose\n",[73,633,634],{"__ignoreMap":124},[128,635,636,638,641,644,647,650,652,655,658,661,664,666,668,671,674,677],{"class":130,"line":131},[128,637,40],{"class":134},[128,639,640],{"class":154}," -L",[128,642,643],{"class":138}," https://github.com/docker/compose/releases/download/",[128,645,646],{"class":307},"$LATEST",[128,648,649],{"class":138},"/docker-compose-",[128,651,594],{"class":307},[128,653,654],{"class":134},"uname",[128,656,657],{"class":154}," -s",[128,659,660],{"class":307},")",[128,662,663],{"class":138},"-",[128,665,594],{"class":307},[128,667,654],{"class":134},[128,669,670],{"class":154}," -m",[128,672,673],{"class":307},") ",[128,675,676],{"class":303},">",[128,678,679],{"class":138}," /usr/local/bin/docker-compose\n",[119,681,683],{"className":121,"code":682,"language":123,"meta":124,"style":124},"chmod +x /usr/local/bin/docker-compose\n",[73,684,685],{"__ignoreMap":124},[128,686,687,690,693],{"class":130,"line":131},[128,688,689],{"class":134},"chmod",[128,691,692],{"class":138}," +x",[128,694,679],{"class":138},[256,696,697],{},[25,698,699,701,702,706],{},[68,700,468],{}," при использовании standalone-версии команда вызывается как ",[68,703,704],{},[73,705,461],{}," (с дефисом).",[708,709],"hr",{},[15,711,713],{"id":712},"настройка-selinux-необязательно","Настройка SELinux (необязательно)",[25,715,716],{},"На системах с включённым SELinux (например, CentOS 7):",[718,719,720],"ol",{},[32,721,722,723,726],{},"Проверьте, установлен ли пакет ",[73,724,725],{},"container-selinux",":",[119,728,730],{"className":121,"code":729,"language":123,"meta":124,"style":124},"rpm -qa | grep container-selinux\n",[73,731,732],{"__ignoreMap":124},[128,733,734,737,740,742,744],{"class":130,"line":131},[128,735,736],{"class":134},"rpm",[128,738,739],{"class":154}," -qa",[128,741,304],{"class":303},[128,743,173],{"class":134},[128,745,746],{"class":138}," container-selinux\n",[718,748,750],{"start":749},2,[32,751,752,753,756,757,760,761,726],{},"Включите поддержку SELinux в Docker:",[754,755],"br",{},"Отредактируйте файл ",[73,758,759],{},"/etc/docker/daemon.json"," и добавьте параметр ",[73,762,763],{},"\"selinux-enabled\": true",[119,765,769],{"className":766,"code":767,"language":768,"meta":124,"style":124},"language-json shiki shiki-themes github-dark","{\n  \"selinux-enabled\": true\n}\n","json",[73,770,771,776,787],{"__ignoreMap":124},[128,772,773],{"class":130,"line":131},[128,774,775],{"class":307},"{\n",[128,777,778,781,784],{"class":130,"line":749},[128,779,780],{"class":154},"  \"selinux-enabled\"",[128,782,783],{"class":307},": ",[128,785,786],{"class":154},"true\n",[128,788,790],{"class":130,"line":789},3,[128,791,628],{"class":307},[25,793,794],{},"После этого перезапустите демон Docker:",[119,796,798],{"className":121,"code":797,"language":123,"meta":124,"style":124},"systemctl restart docker\n",[73,799,800],{"__ignoreMap":124},[128,801,802,804,807],{"class":130,"line":131},[128,803,327],{"class":134},[128,805,806],{"class":138}," restart",[128,808,336],{"class":138},[25,810,811,812,267],{},"Подробнее — в ",[92,813,816],{"href":814,"rel":815},"https://github.com/containers/container-selinux",[96],"документации container-selinux",[708,818],{},[15,820,13],{"id":821},"установка-mailcow-1",[718,823,824],{},[32,825,826],{},"Переключитесь на root-пользователя и задайте маску прав:",[119,828,830],{"className":121,"code":829,"language":123,"meta":124,"style":124},"su\n",[73,831,832],{"__ignoreMap":124},[128,833,834],{"class":130,"line":131},[128,835,829],{"class":134},[119,837,839],{"className":121,"code":838,"language":123,"meta":124,"style":124},"umask 0022\n",[73,840,841],{"__ignoreMap":124},[128,842,843,846],{"class":130,"line":131},[128,844,845],{"class":154},"umask",[128,847,848],{"class":154}," 0022\n",[718,850,851],{"start":749},[32,852,853,854,857],{},"Перейдите в директорию ",[73,855,856],{},"/opt"," и клонируйте репозиторий:",[119,859,861],{"className":121,"code":860,"language":123,"meta":124,"style":124},"cd /opt\n",[73,862,863],{"__ignoreMap":124},[128,864,865,868],{"class":130,"line":131},[128,866,867],{"class":154},"cd",[128,869,870],{"class":138}," /opt\n",[119,872,874],{"className":121,"code":873,"language":123,"meta":124,"style":124},"git clone https://github.com/mailcow/mailcow-dockerized\n",[73,875,876],{"__ignoreMap":124},[128,877,878,880,883],{"class":130,"line":131},[128,879,34],{"class":134},[128,881,882],{"class":138}," clone",[128,884,885],{"class":138}," https://github.com/mailcow/mailcow-dockerized\n",[119,887,889],{"className":121,"code":888,"language":123,"meta":124,"style":124},"cd mailcow-dockerized\n",[73,890,891],{"__ignoreMap":124},[128,892,893,895],{"class":130,"line":131},[128,894,867],{"class":154},[128,896,897],{"class":138}," mailcow-dockerized\n",[718,899,900],{"start":789},[32,901,902],{},"Сгенерируйте файл конфигурации:",[119,904,906],{"className":121,"code":905,"language":123,"meta":124,"style":124},"./generate_config.sh\n",[73,907,908],{"__ignoreMap":124},[128,909,910],{"class":130,"line":131},[128,911,905],{"class":134},[718,913,915],{"start":914},4,[32,916,917],{},"При необходимости отредактируйте конфигурацию:",[119,919,921],{"className":121,"code":920,"language":123,"meta":124,"style":124},"nano mailcow.conf\n",[73,922,923],{"__ignoreMap":124},[128,924,925,928],{"class":130,"line":131},[128,926,927],{"class":134},"nano",[128,929,930],{"class":138}," mailcow.conf\n",[708,932],{},[15,934,936],{"id":935},"запуск-mailcow","Запуск mailcow",[25,938,939],{},"Скачайте образы и запустите контейнеры:",[25,941,942],{},[68,943,944],{},"Docker Compose (плагин):",[119,946,948],{"className":121,"code":947,"language":123,"meta":124,"style":124},"docker compose pull\n",[73,949,950],{"__ignoreMap":124},[128,951,952,954,957],{"class":130,"line":131},[128,953,270],{"class":134},[128,955,956],{"class":138}," compose",[128,958,959],{"class":138}," pull\n",[119,961,963],{"className":121,"code":962,"language":123,"meta":124,"style":124},"docker compose up -d\n",[73,964,965],{"__ignoreMap":124},[128,966,967,969,971,974],{"class":130,"line":131},[128,968,270],{"class":134},[128,970,956],{"class":138},[128,972,973],{"class":138}," up",[128,975,976],{"class":154}," -d\n",[25,978,979],{},[68,980,981],{},"Docker Compose (standalone):",[119,983,985],{"className":121,"code":984,"language":123,"meta":124,"style":124},"docker-compose pull\n",[73,986,987],{"__ignoreMap":124},[128,988,989,991],{"class":130,"line":131},[128,990,461],{"class":134},[128,992,959],{"class":138},[119,994,996],{"className":121,"code":995,"language":123,"meta":124,"style":124},"docker-compose up -d\n",[73,997,998],{"__ignoreMap":124},[128,999,1000,1002,1004],{"class":130,"line":131},[128,1001,461],{"class":134},[128,1003,973],{"class":138},[128,1005,976],{"class":154},[25,1007,1008],{},"Готово!",[25,1010,1011,1012,1017,1018,1021,1022,267],{},"Теперь вы можете открыть панель управления по адресу ",[68,1013,1014],{},[73,1015,1016],{},"https://ваш_домен/admin"," с логином ",[73,1019,1020],{},"admin"," и паролем ",[73,1023,1024],{},"moohoo",[708,1026],{},[15,1028,1030],{"id":1029},"устранение-неполадок","Устранение неполадок",[20,1032,1034],{"id":1033},"mtu-не-равен-1500-например-openstack","MTU не равен 1500 (например, OpenStack)",[25,1036,1037,1038,726],{},"Измените сетевые настройки в файле ",[73,1039,1040],{},"docker-compose.yml",[119,1042,1046],{"className":1043,"code":1044,"language":1045,"meta":124,"style":124},"language-yaml shiki shiki-themes github-dark","networks:\n  mailcow-network:\n    driver_opts:\n      com.docker.network.driver.mtu: 1450\n","yaml",[73,1047,1048,1057,1064,1071],{"__ignoreMap":124},[128,1049,1050,1054],{"class":130,"line":131},[128,1051,1053],{"class":1052},"s4JwU","networks",[128,1055,1056],{"class":307},":\n",[128,1058,1059,1062],{"class":130,"line":749},[128,1060,1061],{"class":1052},"  mailcow-network",[128,1063,1056],{"class":307},[128,1065,1066,1069],{"class":130,"line":789},[128,1067,1068],{"class":1052},"    driver_opts",[128,1070,1056],{"class":307},[128,1072,1073,1076,1078],{"class":130,"line":914},[128,1074,1075],{"class":1052},"      com.docker.network.driver.mtu",[128,1077,783],{"class":307},[128,1079,1080],{"class":154},"1450\n",[20,1082,1084],{"id":1083},"нет-ipv6-на-хост-системе","Нет IPv6 на хост-системе",[25,1086,1087,1088,267],{},"Если ваш сервер не поддерживает IPv6, отключите его для сети mailcow. Подробнее об этом можно узнать в ",[92,1089,1092],{"href":1090,"rel":1091},"https://docs.mailcow.email/",[96],"официальной документации mailcow",[708,1094],{},[15,1096,1098],{"id":1097},"важные-замечания","Важные замечания",[29,1100,1101,1107],{},[32,1102,1103,1106],{},[68,1104,1105],{},"Сохранность данных",": ваши данные хранятся в томах Docker (volumes) и сохраняются даже при пересоздании или удалении контейнеров.",[32,1108,1109,1112],{},[68,1110,1111],{},"Обратный прокси",": если вы не используете обратный прокси-сервер, рекомендуется настроить перенаправление HTTP на HTTPS.",[1114,1115,1116],"style",{},"html pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}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 pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .s4JwU, html code.shiki .s4JwU{--shiki-default:#85E89D}",{"title":124,"searchDepth":749,"depth":749,"links":1118},[1119,1124,1125,1126,1127,1131],{"id":17,"depth":749,"text":18,"children":1120},[1121,1122,1123],{"id":22,"depth":789,"text":23},{"id":58,"depth":789,"text":59},{"id":107,"depth":789,"text":108},{"id":712,"depth":749,"text":713},{"id":821,"depth":749,"text":13},{"id":935,"depth":749,"text":936},{"id":1029,"depth":749,"text":1030,"children":1128},[1129,1130],{"id":1033,"depth":789,"text":1034},{"id":1083,"depth":789,"text":1084},{"id":1097,"depth":749,"text":1098},"Пошаговая инструкция по установке почтового сервера mailcow на VPS с помощью Docker и Docker Compose","md",{"category":1135,"icon":1136,"date":1137,"image":1138},"Сервера","terminal","2026-02-14","/wiki/mailcow-og.png",true,"/wiki/mailcow",{"title":5,"description":1132},"wiki/mailcow","P01UDFW3sOTLC138rE3O1l6tOyFb0Wr87C6QSYTPosc",1773002542352]