[{"data":1,"prerenderedAt":3028},["ShallowReactive",2],{"navigation":3,"/depoly/mail":650,"/depoly/mail-surround":3023},[4,12,31,103],{"title":5,"path":6,"stem":7,"children":8,"icon":11},"更新日志","/update-log","1.update-log/1.index",[9],{"title":10,"path":6,"stem":7},"日志","i-line-md-calendar",{"title":13,"icon":14,"path":15,"stem":16,"children":17,"page":30},"食用指南","i-line-md-cookie","/getting-started","2.getting-started",[18,22,26],{"title":19,"path":20,"stem":21},"微信群聊","/getting-started/wechat","2.getting-started/1.wechat",{"title":23,"path":24,"stem":25},"精彩视频","/getting-started/videos","2.getting-started/2.videos",{"title":27,"path":28,"stem":29},"选购指南","/getting-started/tier","2.getting-started/4.tier",false,{"title":32,"icon":33,"path":34,"stem":35,"children":36,"page":-1},"应用部署","i-material-symbols-logo-dev-outline","/depoly","3.depoly",[37,41,46,62,67,72,77,82,87],{"title":38,"path":34,"stem":39,"icon":40},"视频教程汇总","3.depoly/index","i-tabler-brand-youtube",{"title":42,"path":43,"stem":44,"icon":45},"CloudFlare","/depoly/cloudflare","3.depoly/cloudflare","i-simple-icons-cloudflare",{"title":47,"icon":48,"path":49,"stem":50,"children":51,"page":30},"数据库","i-material-symbols-database-outline","/depoly/database","3.depoly/database",[52,57],{"title":53,"path":54,"stem":55,"icon":56},"MySQL","/depoly/database/mysql","3.depoly/database/mysql","i-lineicons-mysql",{"title":58,"path":59,"stem":60,"icon":61},"SQLite","/depoly/database/sqlite","3.depoly/database/sqlite","i-file-icons-sqlite",{"title":63,"path":64,"stem":65,"icon":66},"Docker","/depoly/docker","3.depoly/docker","i-mdi-docker",{"title":68,"path":69,"stem":70,"icon":71},"邮件","/depoly/mail","3.depoly/mail","i-heroicons-envelope",{"title":73,"path":74,"stem":75,"icon":76},"服务器指标监控","/depoly/monitoring","3.depoly/monitoring","i-cbi-prometheusio",{"title":78,"path":79,"stem":80,"icon":81},"安全","/depoly/security","3.depoly/security","i-gravity-ui-firewall",{"title":83,"path":84,"stem":85,"icon":86},"建站","/depoly/site","3.depoly/site","i-cbi-nginx-proxy-manager",{"title":88,"icon":89,"path":90,"stem":91,"children":92,"page":30},"操作系统","i-simple-icons-linux","/depoly/system","3.depoly/system",[93,98],{"title":94,"path":95,"stem":96,"icon":97},"Debian","/depoly/system/debian","3.depoly/system/debian","i-simple-icons-debian",{"title":99,"path":100,"stem":101,"icon":102},"磁盘","/depoly/system/disk","3.depoly/system/disk","i-streamline-cyber-harddisk-4",{"title":104,"path":105,"stem":106,"children":107,"icon":649},"商户测评","/review","4.review/1.index",[108,111,115,119,123,127,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,211,215,219,223,227,231,235,239,243,247,251,255,259,263,267,271,275,279,283,287,291,295,299,303,307,311,315,319,323,327,331,335,339,343,347,351,355,359,363,367,371,375,379,383,387,391,395,399,403,407,411,415,419,423,427,431,435,439,443,447,451,455,459,463,467,471,475,479,483,487,491,495,499,503,507,511,515,519,523,527,531,535,539,543,547,551,555,559,563,567,571,575,579,583,587,591,595,599,604,608,612,616,621,625,629,633,637,641,645],{"title":109,"path":105,"stem":106,"icon":110},"总表","i-ph-ranking-duotone",{"title":112,"path":113,"stem":114},"100TB","/review/100tb","4.review/2.100tb",{"title":116,"path":117,"stem":118},"AaITR","/review/aaitr","4.review/2.aaitr",{"title":120,"path":121,"stem":122},"AkileCloud（AK）","/review/akile","4.review/2.akile",{"title":124,"path":125,"stem":126},"AkkoCloud","/review/akkocloud","4.review/2.akkocloud",{"title":128,"path":129,"stem":130},"DreamCloud","/review/as211392","4.review/2.as211392",{"title":132,"path":133,"stem":134},"Back Waves","/review/backwaves","4.review/2.backwaves",{"title":136,"path":137,"stem":138},"BageVM","/review/bagevm","4.review/2.bagevm",{"title":140,"path":141,"stem":142},"Bandwagon（搬瓦工）","/review/bandwagon","4.review/2.bandwagon",{"title":144,"path":145,"stem":146},"BestVM（富婆）","/review/bestvm","4.review/2.bestvm",{"title":148,"path":149,"stem":150},"BUG NET","/review/bug","4.review/2.bug",{"title":152,"path":153,"stem":154},"ByteVirt","/review/bytevirt","4.review/2.bytevirt",{"title":156,"path":157,"stem":158},"Churros","/review/churros","4.review/2.churros",{"title":160,"path":161,"stem":162},"Ciallo Networks","/review/ciallonetworks","4.review/2.ciallonetworks",{"title":164,"path":165,"stem":166},"CloudCone（CC）","/review/cloudcone","4.review/2.cloudcone",{"title":168,"path":169,"stem":170},"CloudLeadInno","/review/cloudleadinno","4.review/2.cloudleadinno",{"title":172,"path":173,"stem":174},"ColoCrossing（CCS）","/review/colocrossing","4.review/2.colocrossing",{"title":176,"path":177,"stem":178},"CstoneCloud","/review/cstonecloud","4.review/2.cstonecloud",{"title":180,"path":181,"stem":182},"CubeCloud（魔方云）","/review/cubecloud","4.review/2.cubecloud",{"title":184,"path":185,"stem":186},"DataOnline","/review/dataonline","4.review/2.dataonline",{"title":188,"path":189,"stem":190},"DesiVPS","/review/desivps","4.review/2.desivps",{"title":192,"path":193,"stem":194},"DigitalVirt","/review/digitalvirt","4.review/2.digitalvirt",{"title":196,"path":197,"stem":198},"DMIT（大妈）","/review/dmit","4.review/2.dmit",{"title":200,"path":201,"stem":202},"DogYun（狗云）","/review/dogyun","4.review/2.dogyun",{"title":204,"path":205,"stem":206},"Dotdot Networks","/review/dotdot","4.review/2.dotdot",{"title":208,"path":209,"stem":210},"Ethernet Servers","/review/ethernetservers","4.review/2.ethernetservers",{"title":212,"path":213,"stem":214},"Evoxt（益沃斯）","/review/evoxt","4.review/2.evoxt",{"title":216,"path":217,"stem":218},"Fast Line（台灣速連）","/review/fast-line","4.review/2.fast-line",{"title":220,"path":221,"stem":222},"FiberState（FS）","/review/fiberstate","4.review/2.fiberstate",{"title":224,"path":225,"stem":226},"Flawless Node","/review/flawlessnode","4.review/2.flawlessnode",{"title":228,"path":229,"stem":230},"Fourplex","/review/fourplex","4.review/2.fourplex",{"title":232,"path":233,"stem":234},"GoMami（狗妈）","/review/gomami","4.review/2.gomami",{"title":236,"path":237,"stem":238},"HaloCloud","/review/halocloud","4.review/2.halocloud",{"title":240,"path":241,"stem":242},"Haruka","/review/haruka","4.review/2.haruka",{"title":244,"path":245,"stem":246},"HighEndNetwork","/review/highendnetwork","4.review/2.highendnetwork",{"title":248,"path":249,"stem":250},"HostDare","/review/hostdare","4.review/2.hostdare",{"title":252,"path":253,"stem":254},"iON cloud","/review/ion","4.review/2.ion",{"title":256,"path":257,"stem":258},"iPRaft","/review/ipraft","4.review/2.ipraft",{"title":260,"path":261,"stem":262},"is*hosting","/review/ishosting","4.review/2.ishosting",{"title":264,"path":265,"stem":266},"ISIF Cloud","/review/isif","4.review/2.isif",{"title":268,"path":269,"stem":270},"JUSTG","/review/justg","4.review/2.justg",{"title":272,"path":273,"stem":274},"LightCone（光锥云）","/review/lightcone","4.review/2.lightcone",{"title":276,"path":277,"stem":278},"Lightlayer","/review/lightlayer","4.review/2.lightlayer",{"title":280,"path":281,"stem":282},"Lime Network（烧纸云）","/review/limee","4.review/2.limee",{"title":284,"path":285,"stem":286},"LinkCLi免备案服务器","/review/linkcli","4.review/2.linkcli",{"title":288,"path":289,"stem":290},"Lisahost（丽萨主机）","/review/lisahost","4.review/2.lisahost",{"title":292,"path":293,"stem":294},"Md5Host","/review/md5host","4.review/2.md5host",{"title":296,"path":297,"stem":298},"MOACK（蘑菇）","/review/moack","4.review/2.moack",{"title":300,"path":301,"stem":302},"MoeCloud","/review/moe","4.review/2.moe",{"title":304,"path":305,"stem":306},"NoBrand Cloud","/review/nbdnet","4.review/2.nbdnet",{"title":308,"path":309,"stem":310},"Neburst Networks（奶爸）","/review/neburst","4.review/2.neburst",{"title":312,"path":313,"stem":314},"NETfront","/review/netfront","4.review/2.netfront",{"title":316,"path":317,"stem":318},"NetJett(YVGS)","/review/netjett","4.review/2.netjett",{"title":320,"path":321,"stem":322},"NiiHost","/review/niihost","4.review/2.niihost",{"title":324,"path":325,"stem":326},"NovixLink 诺联主机","/review/novixlink","4.review/2.novixlink",{"title":328,"path":329,"stem":330},"Nube Cloud","/review/nube","4.review/2.nube",{"title":332,"path":333,"stem":334},"Onidel Cloud","/review/onidel","4.review/2.onidel",{"title":336,"path":337,"stem":338},"OrangeVPS","/review/orangevps","4.review/2.orangevps",{"title":340,"path":341,"stem":342},"PittQiao（PQS）","/review/pqs","4.review/2.pqs",{"title":344,"path":345,"stem":346},"QDE","/review/qde","4.review/2.qde",{"title":348,"path":349,"stem":350},"QQG","/review/qqg","4.review/2.qqg",{"title":352,"path":353,"stem":354},"Rabisu","/review/rabisu","4.review/2.rabisu",{"title":356,"path":357,"stem":358},"RackNerd（RN）","/review/racknerd","4.review/2.racknerd",{"title":360,"path":361,"stem":362},"RakSmart","/review/raksmart","4.review/2.raksmart",{"title":364,"path":365,"stem":366},"RFCHost（花卷）","/review/rfchost","4.review/2.rfchost",{"title":368,"path":369,"stem":370},"Sakura（樱络云）","/review/sakura","4.review/2.sakura",{"title":372,"path":373,"stem":374},"SaltyFish（咸鱼）","/review/saltyfish","4.review/2.saltyfish",{"title":376,"path":377,"stem":378},"SixtyNet","/review/sixtynet","4.review/2.sixtynet",{"title":380,"path":381,"stem":382},"Skyline Connect","/review/skylineconnect","4.review/2.skylineconnect",{"title":384,"path":385,"stem":386},"SkyStroll","/review/skystroll","4.review/2.skystroll",{"title":388,"path":389,"stem":390},"Skywolf","/review/skywolf","4.review/2.skywolf",{"title":392,"path":393,"stem":394},"Spartan（斯巴达）","/review/spartan","4.review/2.spartan",{"title":396,"path":397,"stem":398},"SpeedOnline","/review/speedonline","4.review/2.speedonline",{"title":400,"path":401,"stem":402},"StarryDNS（星光网络）","/review/starrydns","4.review/2.starrydns",{"title":404,"path":405,"stem":406},"Tarekcloud","/review/tarekcloud","4.review/2.tarekcloud",{"title":408,"path":409,"stem":410},"Terabix","/review/terabix","4.review/2.terabix",{"title":412,"path":413,"stem":414},"Tokyonline","/review/tokyonline","4.review/2.tokyonline",{"title":416,"path":417,"stem":418},"TOTHOST","/review/tothost","4.review/2.tothost",{"title":420,"path":421,"stem":422},"V.PS（小秘书）","/review/v.ps","4.review/2.v.ps",{"title":424,"path":425,"stem":426},"V5 Server","/review/v5","4.review/2.v5",{"title":428,"path":429,"stem":430},"VIP Cloud","/review/vipcloud","4.review/2.vipcloud",{"title":432,"path":433,"stem":434},"VIRCS","/review/vircs","4.review/2.vircs",{"title":436,"path":437,"stem":438},"VMISS","/review/vmiss","4.review/2.vmiss",{"title":440,"path":441,"stem":442},"VMRack","/review/vmrack","4.review/2.vmrack",{"title":444,"path":445,"stem":446},"VmShell","/review/vmshell","4.review/2.vmshell",{"title":448,"path":449,"stem":450},"VollCloud","/review/vollcloud","4.review/2.vollcloud",{"title":452,"path":453,"stem":454},"VoyraCloud","/review/voyracloud","4.review/2.voyracloud",{"title":456,"path":457,"stem":458},"wap.ac","/review/wap.ac","4.review/2.wap.ac",{"title":460,"path":461,"stem":462},"WePC（车库云）","/review/wepc","4.review/2.wepc",{"title":464,"path":465,"stem":466},"YT.NET（云途）","/review/yt","4.review/2.yt",{"title":468,"path":469,"stem":470},"Zenlayer Cloud","/review/zenlayer","4.review/2.zenlayer",{"title":472,"path":473,"stem":474},"ZgoCloud","/review/zgovps","4.review/2.zgovps",{"title":476,"path":477,"stem":478},"ZoroCloud（索隆云）","/review/zorocloud","4.review/2.zorocloud",{"title":480,"path":481,"stem":482},"七九网络","/review/079idc","4.review/3.079idc",{"title":484,"path":485,"stem":486},"六六云","/review/666clouds","4.review/3.666clouds",{"title":488,"path":489,"stem":490},"阿里云","/review/aliyun","4.review/3.aliyun",{"title":492,"path":493,"stem":494},"数掘科技","/review/gfvps","4.review/3.gfvps",{"title":496,"path":497,"stem":498},"华纳云","/review/hncloud","4.review/3.hncloud",{"title":500,"path":501,"stem":502},"华瑞云","/review/huaruidc","4.review/3.huaruidc",{"title":504,"path":505,"stem":506},"极络云","/review/jiluoyun","4.review/3.jiluoyun",{"title":508,"path":509,"stem":510},"快快網絡","/review/kkidc","4.review/3.kkidc",{"title":512,"path":513,"stem":514},"莱卡云","/review/lcayun","4.review/3.lcayun",{"title":516,"path":517,"stem":518},"领创云","/review/lcyidc","4.review/3.lcyidc",{"title":520,"path":521,"stem":522},"荔枝云（Lycheen）","/review/lycheen","4.review/3.lycheen",{"title":524,"path":525,"stem":526},"轻松云","/review/qyun","4.review/3.qyun",{"title":528,"path":529,"stem":530},"热陈互联IDC","/review/rcvps","4.review/3.rcvps",{"title":532,"path":533,"stem":534},"伤心的云（Sad Cloud）","/review/sadidc","4.review/3.sadidc",{"title":536,"path":537,"stem":538},"速维云","/review/svyun","4.review/3.svyun",{"title":540,"path":541,"stem":542},"腾讯云（Tencent Cloud）","/review/tencent","4.review/3.tencent",{"title":544,"path":545,"stem":546},"野草云","/review/yecaoyun","4.review/3.yecaoyun",{"title":548,"path":549,"stem":550},"蔭雲（YINNET）","/review/yin-net","4.review/3.yin-net",{"title":552,"path":553,"stem":554},"云悠（YUNYOO）","/review/yunyoo","4.review/3.yunyoo",{"title":556,"path":557,"stem":558},"朝暮数据","/review/zhaomu","4.review/3.zhaomu",{"title":560,"path":561,"stem":562},"智贸云","/review/zmyhost","4.review/3.zmyhost",{"title":564,"path":565,"stem":566},"慈云数据","/review/zovps","4.review/3.zovps",{"title":568,"path":569,"stem":570},"AcckCloud","/review/acck","4.review/997.acck",{"title":572,"path":573,"stem":574},"ClawCloud（爪云）","/review/claw","4.review/997.claw",{"title":576,"path":577,"stem":578},"EasyVM","/review/easy","4.review/997.easy",{"title":580,"path":581,"stem":582},"ReliableSite（RS）","/review/reliablesite","4.review/997.reliablesite",{"title":584,"path":585,"stem":586},"TapHip","/review/taphip","4.review/997.taphip",{"title":588,"path":589,"stem":590},"TechnoVM","/review/techno","4.review/997.techno",{"title":592,"path":593,"stem":594},"破碎工坊云","/review/crash","4.review/998.crash",{"title":596,"path":597,"stem":598},"哇沃","/review/wawo","4.review/998.wawo",{"title":600,"path":601,"stem":602,"icon":603},"Admd","/review/admd","4.review/999.admd","i-mdi-dead",{"title":605,"path":606,"stem":607,"icon":603},"DuoCloud","/review/duocloud","4.review/999.duocloud",{"title":609,"path":610,"stem":611,"icon":603},"Faconhost","/review/faconhost","4.review/999.faconhost",{"title":613,"path":614,"stem":615,"icon":603},"HostBlazer","/review/hostblazer","4.review/999.hostblazer",{"title":617,"path":618,"stem":619,"icon":620},"Kurun（昆仑）","/review/kurun","4.review/999.kurun","i-mdi-offline",{"title":622,"path":623,"stem":624,"icon":603},"lingcloud","/review/lingcloud","4.review/999.lingcloud",{"title":626,"path":627,"stem":628,"icon":603},"OMAO（欧猫）","/review/omao","4.review/999.omao",{"title":630,"path":631,"stem":632,"icon":603},"Saturney（萨特尼）","/review/saturney","4.review/999.saturney",{"title":634,"path":635,"stem":636,"icon":603},"SpikeTel","/review/spiketel","4.review/999.spiketel",{"title":638,"path":639,"stem":640,"icon":603},"TWOMEN","/review/twomen","4.review/999.twomen",{"title":642,"path":643,"stem":644,"icon":603},"UserCloud（台妹云）","/review/user","4.review/999.user",{"title":646,"path":647,"stem":648,"icon":603},"VKVM","/review/vkvm","4.review/999.vkvm","i-line-md-clipboard-list",{"id":651,"title":68,"body":652,"description":683,"extension":3016,"idcId":3017,"meta":3018,"navigation":3020,"path":69,"seo":3021,"stem":70,"__hash__":3022},"docs/3.depoly/mail.md",{"type":653,"value":654,"toc":3012},"minimark",[655,660,667,2986,2990,3004,3008],[656,657,659],"h2",{"id":658},"billionmail","📘 BillionMail",[661,662,663],"blockquote",{},[664,665,666],"p",{},"BillionMail 是一个未来的开源邮件服务器和电子邮件营销平台，旨在帮助企业和个人轻松管理他们的电子邮件营销活动。无论您是发送新闻通讯、促销邮件还是交易消息，这个工具都将为您的电子邮件营销工作提供完全控制。通过高级分析和客户管理等功能，您将能够像专业人士一样创建、发送和跟踪电子邮件。",[668,669,671,676,769,772,788,792,803,2561,2564,2571,2940,2944,2976,2979],"steps",{"level":670},"4",[672,673,675],"h4",{"id":674},"_25-端口检查","25 端口检查",[677,678,684],"pre",{"className":679,"code":680,"filename":681,"language":682,"meta":683,"style":683},"language-bash shiki shiki-themes one-light one-light one-dark-pro","# 检查出口 方向 25 端口是否开放\n## outlook-com.olc.protection.outlook.com\napt install telnet -y && telnet smtp.google.com 25\n\n\n# 查看端口占用，Exim, Postfix, Sendmail 等\nss -tulnp | grep :25\n","terminal","bash","",[685,686,687,696,702,733,740,745,751],"code",{"__ignoreMap":683},[688,689,692],"span",{"class":690,"line":691},"line",1,[688,693,695],{"class":694},"slzXe","# 检查出口 方向 25 端口是否开放\n",[688,697,699],{"class":690,"line":698},2,[688,700,701],{"class":694},"## outlook-com.olc.protection.outlook.com\n",[688,703,705,709,713,716,720,724,727,730],{"class":690,"line":704},3,[688,706,708],{"class":707},"sgdWN","apt",[688,710,712],{"class":711},"sBZeU"," install",[688,714,715],{"class":711}," telnet",[688,717,719],{"class":718},"soiGB"," -y",[688,721,723],{"class":722},"skGaQ"," && ",[688,725,726],{"class":707},"telnet",[688,728,729],{"class":711}," smtp.google.com",[688,731,732],{"class":718}," 25\n",[688,734,736],{"class":690,"line":735},4,[688,737,739],{"emptyLinePlaceholder":738},true,"\n",[688,741,743],{"class":690,"line":742},5,[688,744,739],{"emptyLinePlaceholder":738},[688,746,748],{"class":690,"line":747},6,[688,749,750],{"class":694},"# 查看端口占用，Exim, Postfix, Sendmail 等\n",[688,752,754,757,760,763,766],{"class":690,"line":753},7,[688,755,756],{"class":707},"ss",[688,758,759],{"class":718}," -tulnp",[688,761,762],{"class":722}," | ",[688,764,765],{"class":707},"grep",[688,767,768],{"class":711}," :25\n",[672,770,771],{"id":771},"下载源码",[677,773,775],{"className":679,"code":774,"filename":681,"language":682,"meta":683,"style":683},"git clone https://github.com/aaPanel/BillionMail.git\n",[685,776,777],{"__ignoreMap":683},[688,778,779,782,785],{"class":690,"line":691},[688,780,781],{"class":707},"git",[688,783,784],{"class":711}," clone",[688,786,787],{"class":711}," https://github.com/aaPanel/BillionMail.git\n",[672,789,791],{"id":790},"docker-compose-配置文件","docker-compose 配置文件",[664,793,794,795],{},"官方位置：",[796,797,802],"a",{"href":798,"rel":799,"target":801},"https://github.com/aaPanel/BillionMail/blob/dev/docker-compose.yml",[800],"nofollow","_blank","docker-compose.yml",[677,804,808],{"className":805,"code":806,"filename":802,"language":807,"meta":683,"style":683},"language-yaml shiki shiki-themes one-light one-light one-dark-pro","name: billionmail\n\nservices:\n    pgsql-billionmail:\n      image: postgres:17.4-alpine\n      hostname: pgsql\n      volumes:\n        - ./postgresql-data:/var/lib/postgresql/data\n        - ./postgresql-socket:/var/run/postgresql\n      environment:\n        - TZ=${TZ}\n        - POSTGRES_DB=${DBNAME}\n        - POSTGRES_USER=${DBUSER}\n        - POSTGRES_PASSWORD=${DBPASS}\n      restart: always\n      ports:\n        - \"${SQL_PORT:-127.0.0.1:25432}:5432\"\n      networks:\n        billionmail-network:\n          aliases:\n            - pgsql\n\n    redis-billionmail:\n      image: redis:7.4.2-alpine\n      hostname: redis\n      entrypoint: [\"/bin/sh\",\"/redis-conf.sh\"]\n      volumes:\n        - ./redis-data:/data\n        - ./conf/redis/redis-conf.sh:/redis-conf.sh\n      restart: always\n      ports:\n        - \"${REDIS_PORT:-127.0.0.1:26379}:6379\"\n      environment:\n        - TZ=${TZ}\n        - REDISPASS=${REDISPASS}\n      sysctls:\n        - net.core.somaxconn=4096\n      networks:\n        billionmail-network:\n          aliases:\n            - redis\n\n    rspamd-billionmail:\n      image: billionmail/rspamd:1.2\n      hostname: rspamd\n      depends_on:\n        - redis-billionmail\n      environment:\n        - TZ=${TZ}\n        - REDISPASS=${REDISPASS}\n        - RETENTION_DAYS=${RETENTION_DAYS:-7}\n      volumes:\n        - ./conf/rspamd/local.d:/etc/rspamd/local.d\n        - ./conf/rspamd/statistic.conf:/etc/rspamd/statistic.conf\n        - ./conf/rspamd/rspamd.conf:/etc/rspamd/rspamd.conf \n        - ./rspamd-data:/var/lib/rspamd\n        - ./logs/rspamd:/var/log/rspamd\n      restart: always\n      networks:\n        billionmail-network:\n          aliases:\n            - rspamd\n\n    dovecot-billionmail:\n      image: billionmail/dovecot:1.6\n      hostname: dovecot\n      depends_on:\n        - pgsql-billionmail\n        - redis-billionmail\n      cap_add:\n        - NET_BIND_SERVICE\n      volumes:\n        - ./conf/dovecot/conf.d:/etc/dovecot/conf.d\n        - ./conf/dovecot/dovecot.conf:/etc/dovecot/dovecot.conf\n        - ./conf/dovecot/rsyslog.conf:/etc/rsyslog.conf\n        - ./logs/dovecot:/var/log/mail\n        - ./ssl:/etc/ssl/mail\n        - ./ssl-self-signed:/etc/ssl/ssl-self-signed\n        - ./vmail-data:/var/vmail\n        - ./rspamd-data:/var/lib/rspamd\n        - ./postgresql-socket:/var/run/postgresql\n      environment:\n        - DBNAME=${DBNAME}\n        - DBUSER=${DBUSER}\n        - DBPASS=${DBPASS}\n        - TZ=${TZ}\n        - BILLIONMAIL_HOSTNAME=${BILLIONMAIL_HOSTNAME}\n        - REDISPASS=${REDISPASS}\n        - RETENTION_DAYS=${RETENTION_DAYS:-7}\n      ports:\n        - \"${IMAP_PORT:-143}:143\"\n        - \"${IMAPS_PORT:-993}:993\"\n        - \"${POP_PORT:-110}:110\"\n        - \"${POPS_PORT:-995}:995\"\n      restart: always\n      ulimits:\n        nproc: 65535\n        nofile:\n          soft: 20000\n          hard: 40000\n      networks:\n        billionmail-network:\n          aliases:\n            - dovecot\n\n    postfix-billionmail:\n      image: billionmail/postfix:1.6\n      hostname: postfix\n      depends_on:\n        pgsql-billionmail:\n          condition: service_started\n      volumes:\n        - ./conf/postfix/main.cf:/etc/postfix/main.cf\n        - ./conf/postfix/master.cf:/etc/postfix/master.cf\n        - ./conf/postfix/conf:/etc/postfix/conf\n        - ./conf/postfix/sql:/etc/postfix/sql\n        - ./conf/postfix/rsyslog.conf:/etc/rsyslog.conf\n        - ./logs/postfix:/var/log/mail\n        - ./ssl:/etc/ssl/mail\n        - ./postfix-data:/var/spool/postfix\n        - ./rspamd-data:/var/lib/rspamd\n        - ./postgresql-socket:/var/run/postgresql\n      environment:\n        - TZ=${TZ}\n        - DBNAME=${DBNAME}\n        - DBUSER=${DBUSER}\n        - DBPASS=${DBPASS}\n        - REDISPASS=${REDISPASS}\n        - BILLIONMAIL_HOSTNAME=${BILLIONMAIL_HOSTNAME}\n        - RETENTION_DAYS=${RETENTION_DAYS:-7}\n      cap_add:\n        - NET_BIND_SERVICE\n      ports:\n        - \"${SMTP_PORT:-25}:25\"\n        - \"${SMTPS_PORT:-465}:465\"\n        - \"${SUBMISSION_PORT:-587}:587\"\n      restart: always\n      networks:\n        billionmail-network:\n          aliases:\n            - postfix\n\n\n    webmail-billionmail:\n      image: roundcube/roundcubemail:1.6.10-fpm-alpine\n      hostname: roundcube\n      depends_on:\n        - pgsql-billionmail\n        - dovecot-billionmail\n        - postfix-billionmail\n      volumes:\n        - ./webmail-data:/var/www/html\n        - ./conf/webmail/mime.types:/var/roundcube/config/mime.types\n        - ./conf/webmail:/var/roundcube/config\n        - ./conf/php:/usr/local/etc\n        - ./php-sock/:/var/run/\n      environment:\n        - TZ=${TZ}\n        - ROUNDCUBEMAIL_DB_TYPE=pgsql\n        - ROUNDCUBEMAIL_DB_HOST=pgsql\n        - ROUNDCUBEMAIL_DB_NAME=${DBNAME}\n        - ROUNDCUBEMAIL_DB_USER=${DBUSER}\n        - ROUNDCUBEMAIL_DB_PASSWORD=${DBPASS}\n        - ROUNDCUBEMAIL_DEFAULT_HOST=dovecot\n        - ROUNDCUBEMAIL_DEFAULT_PORT=${IMAP_PORT:-143}\n        - ROUNDCUBEMAIL_SMTP_SERVER=postfix\n        - ROUNDCUBEMAIL_SMTP_PORT=${SMTP_PORT:-25}\n        - ROUNDCUBEMAIL_REQUEST_PATH=/roundcube\n      restart: always\n      networks:\n        billionmail-network:\n          aliases:\n            - webmail\n\n    core-billionmail:\n      image: billionmail/core:4.7.2\n      hostname: core-manage\n      depends_on:\n        - pgsql-billionmail\n      volumes:\n        - ./ssl:/etc/ssl/mail\n        - ./ssl-self-signed:/etc/ssl/ssl-self-signed\n        - ./conf/core/fail2ban/filter.d:/etc/fail2ban/filter.d\n        - ./conf/core/fail2ban/jail.d:/etc/fail2ban/jail.d\n        - ./logs/fail2ban:/var/log/fail2ban\n        - ./postgresql-socket:/opt/billionmail/postgresql-socket\n        - ./php-sock:/opt/billionmail/php-sock\n        - ./rspamd-data:/opt/billionmail/rspamd-data\n        - ./webmail-data:/opt/billionmail/webmail-data\n        - ./.env:/opt/billionmail/.env\n        - ./conf:/opt/billionmail/conf\n        - ./logs:/opt/billionmail/logs\n        - ./logs/core:/opt/billionmail/core/logs\n        - ./core-data:/opt/billionmail/core/data\n        - /var/run/docker.sock:/var/run/docker.sock:ro\n        - ./vmail-data:/opt/billionmail/vmail-data\n      environment:\n        - TZ=${TZ}\n        - FAIL2BAN_INIT=${FAIL2BAN_INIT:-y}\n      cap_add:\n        - NET_BIND_SERVICE\n        - NET_ADMIN\n        - NET_RAW\n      ports:\n        - \"${HTTP_PORT:-80}:${HTTP_PORT:-80}\"\n        - \"${HTTPS_PORT:-443}:${HTTPS_PORT:-443}\"\n      restart: always\n      networks:\n        billionmail-network:\n          aliases:\n            - core\n\nnetworks:\n  billionmail-network:\n    driver: bridge\n    driver_opts:\n      com.docker.network.bridge.name: br-billionmail\n    ipam:\n      driver: default\n      config:\n        - subnet: ${IPV4_NETWORK:-172.16.1}.0/24\n","yaml",[685,809,810,822,826,834,841,851,861,868,877,885,893,901,909,917,925,936,944,952,960,968,976,984,989,997,1007,1017,1038,1045,1053,1061,1070,1077,1085,1092,1099,1107,1115,1123,1130,1137,1144,1151,1156,1164,1174,1184,1192,1200,1207,1214,1221,1229,1236,1244,1252,1263,1271,1279,1288,1295,1302,1309,1316,1321,1329,1339,1349,1356,1364,1371,1379,1387,1394,1402,1410,1418,1426,1434,1442,1450,1457,1464,1471,1479,1487,1495,1502,1510,1517,1524,1531,1539,1547,1555,1563,1572,1580,1591,1599,1610,1621,1628,1635,1642,1649,1654,1662,1672,1682,1689,1697,1708,1715,1723,1731,1739,1747,1755,1763,1770,1778,1785,1792,1799,1806,1813,1820,1827,1834,1841,1848,1855,1862,1869,1877,1885,1893,1902,1909,1916,1923,1930,1935,1940,1948,1958,1968,1975,1982,1990,1998,2005,2013,2021,2029,2037,2045,2052,2059,2067,2075,2083,2091,2099,2107,2115,2123,2131,2139,2148,2155,2162,2169,2177,2182,2190,2200,2210,2217,2224,2231,2238,2245,2253,2261,2269,2277,2285,2293,2301,2309,2317,2325,2333,2341,2349,2357,2364,2371,2379,2386,2393,2401,2409,2416,2424,2432,2441,2448,2455,2462,2470,2475,2483,2491,2502,2510,2521,2529,2540,2548],{"__ignoreMap":683},[688,811,812,816,819],{"class":690,"line":691},[688,813,815],{"class":814},"s3_5o","name",[688,817,818],{"class":722},": ",[688,820,821],{"class":711},"billionmail\n",[688,823,824],{"class":690,"line":698},[688,825,739],{"emptyLinePlaceholder":738},[688,827,828,831],{"class":690,"line":704},[688,829,830],{"class":814},"services",[688,832,833],{"class":722},":\n",[688,835,836,839],{"class":690,"line":735},[688,837,838],{"class":814},"    pgsql-billionmail",[688,840,833],{"class":722},[688,842,843,846,848],{"class":690,"line":742},[688,844,845],{"class":814},"      image",[688,847,818],{"class":722},[688,849,850],{"class":711},"postgres:17.4-alpine\n",[688,852,853,856,858],{"class":690,"line":747},[688,854,855],{"class":814},"      hostname",[688,857,818],{"class":722},[688,859,860],{"class":711},"pgsql\n",[688,862,863,866],{"class":690,"line":753},[688,864,865],{"class":814},"      volumes",[688,867,833],{"class":722},[688,869,871,874],{"class":690,"line":870},8,[688,872,873],{"class":722},"        - ",[688,875,876],{"class":711},"./postgresql-data:/var/lib/postgresql/data\n",[688,878,880,882],{"class":690,"line":879},9,[688,881,873],{"class":722},[688,883,884],{"class":711},"./postgresql-socket:/var/run/postgresql\n",[688,886,888,891],{"class":690,"line":887},10,[688,889,890],{"class":814},"      environment",[688,892,833],{"class":722},[688,894,896,898],{"class":690,"line":895},11,[688,897,873],{"class":722},[688,899,900],{"class":711},"TZ=${TZ}\n",[688,902,904,906],{"class":690,"line":903},12,[688,905,873],{"class":722},[688,907,908],{"class":711},"POSTGRES_DB=${DBNAME}\n",[688,910,912,914],{"class":690,"line":911},13,[688,913,873],{"class":722},[688,915,916],{"class":711},"POSTGRES_USER=${DBUSER}\n",[688,918,920,922],{"class":690,"line":919},14,[688,921,873],{"class":722},[688,923,924],{"class":711},"POSTGRES_PASSWORD=${DBPASS}\n",[688,926,928,931,933],{"class":690,"line":927},15,[688,929,930],{"class":814},"      restart",[688,932,818],{"class":722},[688,934,935],{"class":711},"always\n",[688,937,939,942],{"class":690,"line":938},16,[688,940,941],{"class":814},"      ports",[688,943,833],{"class":722},[688,945,947,949],{"class":690,"line":946},17,[688,948,873],{"class":722},[688,950,951],{"class":711},"\"${SQL_PORT:-127.0.0.1:25432}:5432\"\n",[688,953,955,958],{"class":690,"line":954},18,[688,956,957],{"class":814},"      networks",[688,959,833],{"class":722},[688,961,963,966],{"class":690,"line":962},19,[688,964,965],{"class":814},"        billionmail-network",[688,967,833],{"class":722},[688,969,971,974],{"class":690,"line":970},20,[688,972,973],{"class":814},"          aliases",[688,975,833],{"class":722},[688,977,979,982],{"class":690,"line":978},21,[688,980,981],{"class":722},"            - ",[688,983,860],{"class":711},[688,985,987],{"class":690,"line":986},22,[688,988,739],{"emptyLinePlaceholder":738},[688,990,992,995],{"class":690,"line":991},23,[688,993,994],{"class":814},"    redis-billionmail",[688,996,833],{"class":722},[688,998,1000,1002,1004],{"class":690,"line":999},24,[688,1001,845],{"class":814},[688,1003,818],{"class":722},[688,1005,1006],{"class":711},"redis:7.4.2-alpine\n",[688,1008,1010,1012,1014],{"class":690,"line":1009},25,[688,1011,855],{"class":814},[688,1013,818],{"class":722},[688,1015,1016],{"class":711},"redis\n",[688,1018,1020,1023,1026,1029,1032,1035],{"class":690,"line":1019},26,[688,1021,1022],{"class":814},"      entrypoint",[688,1024,1025],{"class":722},": [",[688,1027,1028],{"class":711},"\"/bin/sh\"",[688,1030,1031],{"class":722},",",[688,1033,1034],{"class":711},"\"/redis-conf.sh\"",[688,1036,1037],{"class":722},"]\n",[688,1039,1041,1043],{"class":690,"line":1040},27,[688,1042,865],{"class":814},[688,1044,833],{"class":722},[688,1046,1048,1050],{"class":690,"line":1047},28,[688,1049,873],{"class":722},[688,1051,1052],{"class":711},"./redis-data:/data\n",[688,1054,1056,1058],{"class":690,"line":1055},29,[688,1057,873],{"class":722},[688,1059,1060],{"class":711},"./conf/redis/redis-conf.sh:/redis-conf.sh\n",[688,1062,1064,1066,1068],{"class":690,"line":1063},30,[688,1065,930],{"class":814},[688,1067,818],{"class":722},[688,1069,935],{"class":711},[688,1071,1073,1075],{"class":690,"line":1072},31,[688,1074,941],{"class":814},[688,1076,833],{"class":722},[688,1078,1080,1082],{"class":690,"line":1079},32,[688,1081,873],{"class":722},[688,1083,1084],{"class":711},"\"${REDIS_PORT:-127.0.0.1:26379}:6379\"\n",[688,1086,1088,1090],{"class":690,"line":1087},33,[688,1089,890],{"class":814},[688,1091,833],{"class":722},[688,1093,1095,1097],{"class":690,"line":1094},34,[688,1096,873],{"class":722},[688,1098,900],{"class":711},[688,1100,1102,1104],{"class":690,"line":1101},35,[688,1103,873],{"class":722},[688,1105,1106],{"class":711},"REDISPASS=${REDISPASS}\n",[688,1108,1110,1113],{"class":690,"line":1109},36,[688,1111,1112],{"class":814},"      sysctls",[688,1114,833],{"class":722},[688,1116,1118,1120],{"class":690,"line":1117},37,[688,1119,873],{"class":722},[688,1121,1122],{"class":711},"net.core.somaxconn=4096\n",[688,1124,1126,1128],{"class":690,"line":1125},38,[688,1127,957],{"class":814},[688,1129,833],{"class":722},[688,1131,1133,1135],{"class":690,"line":1132},39,[688,1134,965],{"class":814},[688,1136,833],{"class":722},[688,1138,1140,1142],{"class":690,"line":1139},40,[688,1141,973],{"class":814},[688,1143,833],{"class":722},[688,1145,1147,1149],{"class":690,"line":1146},41,[688,1148,981],{"class":722},[688,1150,1016],{"class":711},[688,1152,1154],{"class":690,"line":1153},42,[688,1155,739],{"emptyLinePlaceholder":738},[688,1157,1159,1162],{"class":690,"line":1158},43,[688,1160,1161],{"class":814},"    rspamd-billionmail",[688,1163,833],{"class":722},[688,1165,1167,1169,1171],{"class":690,"line":1166},44,[688,1168,845],{"class":814},[688,1170,818],{"class":722},[688,1172,1173],{"class":711},"billionmail/rspamd:1.2\n",[688,1175,1177,1179,1181],{"class":690,"line":1176},45,[688,1178,855],{"class":814},[688,1180,818],{"class":722},[688,1182,1183],{"class":711},"rspamd\n",[688,1185,1187,1190],{"class":690,"line":1186},46,[688,1188,1189],{"class":814},"      depends_on",[688,1191,833],{"class":722},[688,1193,1195,1197],{"class":690,"line":1194},47,[688,1196,873],{"class":722},[688,1198,1199],{"class":711},"redis-billionmail\n",[688,1201,1203,1205],{"class":690,"line":1202},48,[688,1204,890],{"class":814},[688,1206,833],{"class":722},[688,1208,1210,1212],{"class":690,"line":1209},49,[688,1211,873],{"class":722},[688,1213,900],{"class":711},[688,1215,1217,1219],{"class":690,"line":1216},50,[688,1218,873],{"class":722},[688,1220,1106],{"class":711},[688,1222,1224,1226],{"class":690,"line":1223},51,[688,1225,873],{"class":722},[688,1227,1228],{"class":711},"RETENTION_DAYS=${RETENTION_DAYS:-7}\n",[688,1230,1232,1234],{"class":690,"line":1231},52,[688,1233,865],{"class":814},[688,1235,833],{"class":722},[688,1237,1239,1241],{"class":690,"line":1238},53,[688,1240,873],{"class":722},[688,1242,1243],{"class":711},"./conf/rspamd/local.d:/etc/rspamd/local.d\n",[688,1245,1247,1249],{"class":690,"line":1246},54,[688,1248,873],{"class":722},[688,1250,1251],{"class":711},"./conf/rspamd/statistic.conf:/etc/rspamd/statistic.conf\n",[688,1253,1255,1257,1260],{"class":690,"line":1254},55,[688,1256,873],{"class":722},[688,1258,1259],{"class":711},"./conf/rspamd/rspamd.conf:/etc/rspamd/rspamd.conf",[688,1261,1262],{"class":722}," \n",[688,1264,1266,1268],{"class":690,"line":1265},56,[688,1267,873],{"class":722},[688,1269,1270],{"class":711},"./rspamd-data:/var/lib/rspamd\n",[688,1272,1274,1276],{"class":690,"line":1273},57,[688,1275,873],{"class":722},[688,1277,1278],{"class":711},"./logs/rspamd:/var/log/rspamd\n",[688,1280,1282,1284,1286],{"class":690,"line":1281},58,[688,1283,930],{"class":814},[688,1285,818],{"class":722},[688,1287,935],{"class":711},[688,1289,1291,1293],{"class":690,"line":1290},59,[688,1292,957],{"class":814},[688,1294,833],{"class":722},[688,1296,1298,1300],{"class":690,"line":1297},60,[688,1299,965],{"class":814},[688,1301,833],{"class":722},[688,1303,1305,1307],{"class":690,"line":1304},61,[688,1306,973],{"class":814},[688,1308,833],{"class":722},[688,1310,1312,1314],{"class":690,"line":1311},62,[688,1313,981],{"class":722},[688,1315,1183],{"class":711},[688,1317,1319],{"class":690,"line":1318},63,[688,1320,739],{"emptyLinePlaceholder":738},[688,1322,1324,1327],{"class":690,"line":1323},64,[688,1325,1326],{"class":814},"    dovecot-billionmail",[688,1328,833],{"class":722},[688,1330,1332,1334,1336],{"class":690,"line":1331},65,[688,1333,845],{"class":814},[688,1335,818],{"class":722},[688,1337,1338],{"class":711},"billionmail/dovecot:1.6\n",[688,1340,1342,1344,1346],{"class":690,"line":1341},66,[688,1343,855],{"class":814},[688,1345,818],{"class":722},[688,1347,1348],{"class":711},"dovecot\n",[688,1350,1352,1354],{"class":690,"line":1351},67,[688,1353,1189],{"class":814},[688,1355,833],{"class":722},[688,1357,1359,1361],{"class":690,"line":1358},68,[688,1360,873],{"class":722},[688,1362,1363],{"class":711},"pgsql-billionmail\n",[688,1365,1367,1369],{"class":690,"line":1366},69,[688,1368,873],{"class":722},[688,1370,1199],{"class":711},[688,1372,1374,1377],{"class":690,"line":1373},70,[688,1375,1376],{"class":814},"      cap_add",[688,1378,833],{"class":722},[688,1380,1382,1384],{"class":690,"line":1381},71,[688,1383,873],{"class":722},[688,1385,1386],{"class":711},"NET_BIND_SERVICE\n",[688,1388,1390,1392],{"class":690,"line":1389},72,[688,1391,865],{"class":814},[688,1393,833],{"class":722},[688,1395,1397,1399],{"class":690,"line":1396},73,[688,1398,873],{"class":722},[688,1400,1401],{"class":711},"./conf/dovecot/conf.d:/etc/dovecot/conf.d\n",[688,1403,1405,1407],{"class":690,"line":1404},74,[688,1406,873],{"class":722},[688,1408,1409],{"class":711},"./conf/dovecot/dovecot.conf:/etc/dovecot/dovecot.conf\n",[688,1411,1413,1415],{"class":690,"line":1412},75,[688,1414,873],{"class":722},[688,1416,1417],{"class":711},"./conf/dovecot/rsyslog.conf:/etc/rsyslog.conf\n",[688,1419,1421,1423],{"class":690,"line":1420},76,[688,1422,873],{"class":722},[688,1424,1425],{"class":711},"./logs/dovecot:/var/log/mail\n",[688,1427,1429,1431],{"class":690,"line":1428},77,[688,1430,873],{"class":722},[688,1432,1433],{"class":711},"./ssl:/etc/ssl/mail\n",[688,1435,1437,1439],{"class":690,"line":1436},78,[688,1438,873],{"class":722},[688,1440,1441],{"class":711},"./ssl-self-signed:/etc/ssl/ssl-self-signed\n",[688,1443,1445,1447],{"class":690,"line":1444},79,[688,1446,873],{"class":722},[688,1448,1449],{"class":711},"./vmail-data:/var/vmail\n",[688,1451,1453,1455],{"class":690,"line":1452},80,[688,1454,873],{"class":722},[688,1456,1270],{"class":711},[688,1458,1460,1462],{"class":690,"line":1459},81,[688,1461,873],{"class":722},[688,1463,884],{"class":711},[688,1465,1467,1469],{"class":690,"line":1466},82,[688,1468,890],{"class":814},[688,1470,833],{"class":722},[688,1472,1474,1476],{"class":690,"line":1473},83,[688,1475,873],{"class":722},[688,1477,1478],{"class":711},"DBNAME=${DBNAME}\n",[688,1480,1482,1484],{"class":690,"line":1481},84,[688,1483,873],{"class":722},[688,1485,1486],{"class":711},"DBUSER=${DBUSER}\n",[688,1488,1490,1492],{"class":690,"line":1489},85,[688,1491,873],{"class":722},[688,1493,1494],{"class":711},"DBPASS=${DBPASS}\n",[688,1496,1498,1500],{"class":690,"line":1497},86,[688,1499,873],{"class":722},[688,1501,900],{"class":711},[688,1503,1505,1507],{"class":690,"line":1504},87,[688,1506,873],{"class":722},[688,1508,1509],{"class":711},"BILLIONMAIL_HOSTNAME=${BILLIONMAIL_HOSTNAME}\n",[688,1511,1513,1515],{"class":690,"line":1512},88,[688,1514,873],{"class":722},[688,1516,1106],{"class":711},[688,1518,1520,1522],{"class":690,"line":1519},89,[688,1521,873],{"class":722},[688,1523,1228],{"class":711},[688,1525,1527,1529],{"class":690,"line":1526},90,[688,1528,941],{"class":814},[688,1530,833],{"class":722},[688,1532,1534,1536],{"class":690,"line":1533},91,[688,1535,873],{"class":722},[688,1537,1538],{"class":711},"\"${IMAP_PORT:-143}:143\"\n",[688,1540,1542,1544],{"class":690,"line":1541},92,[688,1543,873],{"class":722},[688,1545,1546],{"class":711},"\"${IMAPS_PORT:-993}:993\"\n",[688,1548,1550,1552],{"class":690,"line":1549},93,[688,1551,873],{"class":722},[688,1553,1554],{"class":711},"\"${POP_PORT:-110}:110\"\n",[688,1556,1558,1560],{"class":690,"line":1557},94,[688,1559,873],{"class":722},[688,1561,1562],{"class":711},"\"${POPS_PORT:-995}:995\"\n",[688,1564,1566,1568,1570],{"class":690,"line":1565},95,[688,1567,930],{"class":814},[688,1569,818],{"class":722},[688,1571,935],{"class":711},[688,1573,1575,1578],{"class":690,"line":1574},96,[688,1576,1577],{"class":814},"      ulimits",[688,1579,833],{"class":722},[688,1581,1583,1586,1588],{"class":690,"line":1582},97,[688,1584,1585],{"class":814},"        nproc",[688,1587,818],{"class":722},[688,1589,1590],{"class":718},"65535\n",[688,1592,1594,1597],{"class":690,"line":1593},98,[688,1595,1596],{"class":814},"        nofile",[688,1598,833],{"class":722},[688,1600,1602,1605,1607],{"class":690,"line":1601},99,[688,1603,1604],{"class":814},"          soft",[688,1606,818],{"class":722},[688,1608,1609],{"class":718},"20000\n",[688,1611,1613,1616,1618],{"class":690,"line":1612},100,[688,1614,1615],{"class":814},"          hard",[688,1617,818],{"class":722},[688,1619,1620],{"class":718},"40000\n",[688,1622,1624,1626],{"class":690,"line":1623},101,[688,1625,957],{"class":814},[688,1627,833],{"class":722},[688,1629,1631,1633],{"class":690,"line":1630},102,[688,1632,965],{"class":814},[688,1634,833],{"class":722},[688,1636,1638,1640],{"class":690,"line":1637},103,[688,1639,973],{"class":814},[688,1641,833],{"class":722},[688,1643,1645,1647],{"class":690,"line":1644},104,[688,1646,981],{"class":722},[688,1648,1348],{"class":711},[688,1650,1652],{"class":690,"line":1651},105,[688,1653,739],{"emptyLinePlaceholder":738},[688,1655,1657,1660],{"class":690,"line":1656},106,[688,1658,1659],{"class":814},"    postfix-billionmail",[688,1661,833],{"class":722},[688,1663,1665,1667,1669],{"class":690,"line":1664},107,[688,1666,845],{"class":814},[688,1668,818],{"class":722},[688,1670,1671],{"class":711},"billionmail/postfix:1.6\n",[688,1673,1675,1677,1679],{"class":690,"line":1674},108,[688,1676,855],{"class":814},[688,1678,818],{"class":722},[688,1680,1681],{"class":711},"postfix\n",[688,1683,1685,1687],{"class":690,"line":1684},109,[688,1686,1189],{"class":814},[688,1688,833],{"class":722},[688,1690,1692,1695],{"class":690,"line":1691},110,[688,1693,1694],{"class":814},"        pgsql-billionmail",[688,1696,833],{"class":722},[688,1698,1700,1703,1705],{"class":690,"line":1699},111,[688,1701,1702],{"class":814},"          condition",[688,1704,818],{"class":722},[688,1706,1707],{"class":711},"service_started\n",[688,1709,1711,1713],{"class":690,"line":1710},112,[688,1712,865],{"class":814},[688,1714,833],{"class":722},[688,1716,1718,1720],{"class":690,"line":1717},113,[688,1719,873],{"class":722},[688,1721,1722],{"class":711},"./conf/postfix/main.cf:/etc/postfix/main.cf\n",[688,1724,1726,1728],{"class":690,"line":1725},114,[688,1727,873],{"class":722},[688,1729,1730],{"class":711},"./conf/postfix/master.cf:/etc/postfix/master.cf\n",[688,1732,1734,1736],{"class":690,"line":1733},115,[688,1735,873],{"class":722},[688,1737,1738],{"class":711},"./conf/postfix/conf:/etc/postfix/conf\n",[688,1740,1742,1744],{"class":690,"line":1741},116,[688,1743,873],{"class":722},[688,1745,1746],{"class":711},"./conf/postfix/sql:/etc/postfix/sql\n",[688,1748,1750,1752],{"class":690,"line":1749},117,[688,1751,873],{"class":722},[688,1753,1754],{"class":711},"./conf/postfix/rsyslog.conf:/etc/rsyslog.conf\n",[688,1756,1758,1760],{"class":690,"line":1757},118,[688,1759,873],{"class":722},[688,1761,1762],{"class":711},"./logs/postfix:/var/log/mail\n",[688,1764,1766,1768],{"class":690,"line":1765},119,[688,1767,873],{"class":722},[688,1769,1433],{"class":711},[688,1771,1773,1775],{"class":690,"line":1772},120,[688,1774,873],{"class":722},[688,1776,1777],{"class":711},"./postfix-data:/var/spool/postfix\n",[688,1779,1781,1783],{"class":690,"line":1780},121,[688,1782,873],{"class":722},[688,1784,1270],{"class":711},[688,1786,1788,1790],{"class":690,"line":1787},122,[688,1789,873],{"class":722},[688,1791,884],{"class":711},[688,1793,1795,1797],{"class":690,"line":1794},123,[688,1796,890],{"class":814},[688,1798,833],{"class":722},[688,1800,1802,1804],{"class":690,"line":1801},124,[688,1803,873],{"class":722},[688,1805,900],{"class":711},[688,1807,1809,1811],{"class":690,"line":1808},125,[688,1810,873],{"class":722},[688,1812,1478],{"class":711},[688,1814,1816,1818],{"class":690,"line":1815},126,[688,1817,873],{"class":722},[688,1819,1486],{"class":711},[688,1821,1823,1825],{"class":690,"line":1822},127,[688,1824,873],{"class":722},[688,1826,1494],{"class":711},[688,1828,1830,1832],{"class":690,"line":1829},128,[688,1831,873],{"class":722},[688,1833,1106],{"class":711},[688,1835,1837,1839],{"class":690,"line":1836},129,[688,1838,873],{"class":722},[688,1840,1509],{"class":711},[688,1842,1844,1846],{"class":690,"line":1843},130,[688,1845,873],{"class":722},[688,1847,1228],{"class":711},[688,1849,1851,1853],{"class":690,"line":1850},131,[688,1852,1376],{"class":814},[688,1854,833],{"class":722},[688,1856,1858,1860],{"class":690,"line":1857},132,[688,1859,873],{"class":722},[688,1861,1386],{"class":711},[688,1863,1865,1867],{"class":690,"line":1864},133,[688,1866,941],{"class":814},[688,1868,833],{"class":722},[688,1870,1872,1874],{"class":690,"line":1871},134,[688,1873,873],{"class":722},[688,1875,1876],{"class":711},"\"${SMTP_PORT:-25}:25\"\n",[688,1878,1880,1882],{"class":690,"line":1879},135,[688,1881,873],{"class":722},[688,1883,1884],{"class":711},"\"${SMTPS_PORT:-465}:465\"\n",[688,1886,1888,1890],{"class":690,"line":1887},136,[688,1889,873],{"class":722},[688,1891,1892],{"class":711},"\"${SUBMISSION_PORT:-587}:587\"\n",[688,1894,1896,1898,1900],{"class":690,"line":1895},137,[688,1897,930],{"class":814},[688,1899,818],{"class":722},[688,1901,935],{"class":711},[688,1903,1905,1907],{"class":690,"line":1904},138,[688,1906,957],{"class":814},[688,1908,833],{"class":722},[688,1910,1912,1914],{"class":690,"line":1911},139,[688,1913,965],{"class":814},[688,1915,833],{"class":722},[688,1917,1919,1921],{"class":690,"line":1918},140,[688,1920,973],{"class":814},[688,1922,833],{"class":722},[688,1924,1926,1928],{"class":690,"line":1925},141,[688,1927,981],{"class":722},[688,1929,1681],{"class":711},[688,1931,1933],{"class":690,"line":1932},142,[688,1934,739],{"emptyLinePlaceholder":738},[688,1936,1938],{"class":690,"line":1937},143,[688,1939,739],{"emptyLinePlaceholder":738},[688,1941,1943,1946],{"class":690,"line":1942},144,[688,1944,1945],{"class":814},"    webmail-billionmail",[688,1947,833],{"class":722},[688,1949,1951,1953,1955],{"class":690,"line":1950},145,[688,1952,845],{"class":814},[688,1954,818],{"class":722},[688,1956,1957],{"class":711},"roundcube/roundcubemail:1.6.10-fpm-alpine\n",[688,1959,1961,1963,1965],{"class":690,"line":1960},146,[688,1962,855],{"class":814},[688,1964,818],{"class":722},[688,1966,1967],{"class":711},"roundcube\n",[688,1969,1971,1973],{"class":690,"line":1970},147,[688,1972,1189],{"class":814},[688,1974,833],{"class":722},[688,1976,1978,1980],{"class":690,"line":1977},148,[688,1979,873],{"class":722},[688,1981,1363],{"class":711},[688,1983,1985,1987],{"class":690,"line":1984},149,[688,1986,873],{"class":722},[688,1988,1989],{"class":711},"dovecot-billionmail\n",[688,1991,1993,1995],{"class":690,"line":1992},150,[688,1994,873],{"class":722},[688,1996,1997],{"class":711},"postfix-billionmail\n",[688,1999,2001,2003],{"class":690,"line":2000},151,[688,2002,865],{"class":814},[688,2004,833],{"class":722},[688,2006,2008,2010],{"class":690,"line":2007},152,[688,2009,873],{"class":722},[688,2011,2012],{"class":711},"./webmail-data:/var/www/html\n",[688,2014,2016,2018],{"class":690,"line":2015},153,[688,2017,873],{"class":722},[688,2019,2020],{"class":711},"./conf/webmail/mime.types:/var/roundcube/config/mime.types\n",[688,2022,2024,2026],{"class":690,"line":2023},154,[688,2025,873],{"class":722},[688,2027,2028],{"class":711},"./conf/webmail:/var/roundcube/config\n",[688,2030,2032,2034],{"class":690,"line":2031},155,[688,2033,873],{"class":722},[688,2035,2036],{"class":711},"./conf/php:/usr/local/etc\n",[688,2038,2040,2042],{"class":690,"line":2039},156,[688,2041,873],{"class":722},[688,2043,2044],{"class":711},"./php-sock/:/var/run/\n",[688,2046,2048,2050],{"class":690,"line":2047},157,[688,2049,890],{"class":814},[688,2051,833],{"class":722},[688,2053,2055,2057],{"class":690,"line":2054},158,[688,2056,873],{"class":722},[688,2058,900],{"class":711},[688,2060,2062,2064],{"class":690,"line":2061},159,[688,2063,873],{"class":722},[688,2065,2066],{"class":711},"ROUNDCUBEMAIL_DB_TYPE=pgsql\n",[688,2068,2070,2072],{"class":690,"line":2069},160,[688,2071,873],{"class":722},[688,2073,2074],{"class":711},"ROUNDCUBEMAIL_DB_HOST=pgsql\n",[688,2076,2078,2080],{"class":690,"line":2077},161,[688,2079,873],{"class":722},[688,2081,2082],{"class":711},"ROUNDCUBEMAIL_DB_NAME=${DBNAME}\n",[688,2084,2086,2088],{"class":690,"line":2085},162,[688,2087,873],{"class":722},[688,2089,2090],{"class":711},"ROUNDCUBEMAIL_DB_USER=${DBUSER}\n",[688,2092,2094,2096],{"class":690,"line":2093},163,[688,2095,873],{"class":722},[688,2097,2098],{"class":711},"ROUNDCUBEMAIL_DB_PASSWORD=${DBPASS}\n",[688,2100,2102,2104],{"class":690,"line":2101},164,[688,2103,873],{"class":722},[688,2105,2106],{"class":711},"ROUNDCUBEMAIL_DEFAULT_HOST=dovecot\n",[688,2108,2110,2112],{"class":690,"line":2109},165,[688,2111,873],{"class":722},[688,2113,2114],{"class":711},"ROUNDCUBEMAIL_DEFAULT_PORT=${IMAP_PORT:-143}\n",[688,2116,2118,2120],{"class":690,"line":2117},166,[688,2119,873],{"class":722},[688,2121,2122],{"class":711},"ROUNDCUBEMAIL_SMTP_SERVER=postfix\n",[688,2124,2126,2128],{"class":690,"line":2125},167,[688,2127,873],{"class":722},[688,2129,2130],{"class":711},"ROUNDCUBEMAIL_SMTP_PORT=${SMTP_PORT:-25}\n",[688,2132,2134,2136],{"class":690,"line":2133},168,[688,2135,873],{"class":722},[688,2137,2138],{"class":711},"ROUNDCUBEMAIL_REQUEST_PATH=/roundcube\n",[688,2140,2142,2144,2146],{"class":690,"line":2141},169,[688,2143,930],{"class":814},[688,2145,818],{"class":722},[688,2147,935],{"class":711},[688,2149,2151,2153],{"class":690,"line":2150},170,[688,2152,957],{"class":814},[688,2154,833],{"class":722},[688,2156,2158,2160],{"class":690,"line":2157},171,[688,2159,965],{"class":814},[688,2161,833],{"class":722},[688,2163,2165,2167],{"class":690,"line":2164},172,[688,2166,973],{"class":814},[688,2168,833],{"class":722},[688,2170,2172,2174],{"class":690,"line":2171},173,[688,2173,981],{"class":722},[688,2175,2176],{"class":711},"webmail\n",[688,2178,2180],{"class":690,"line":2179},174,[688,2181,739],{"emptyLinePlaceholder":738},[688,2183,2185,2188],{"class":690,"line":2184},175,[688,2186,2187],{"class":814},"    core-billionmail",[688,2189,833],{"class":722},[688,2191,2193,2195,2197],{"class":690,"line":2192},176,[688,2194,845],{"class":814},[688,2196,818],{"class":722},[688,2198,2199],{"class":711},"billionmail/core:4.7.2\n",[688,2201,2203,2205,2207],{"class":690,"line":2202},177,[688,2204,855],{"class":814},[688,2206,818],{"class":722},[688,2208,2209],{"class":711},"core-manage\n",[688,2211,2213,2215],{"class":690,"line":2212},178,[688,2214,1189],{"class":814},[688,2216,833],{"class":722},[688,2218,2220,2222],{"class":690,"line":2219},179,[688,2221,873],{"class":722},[688,2223,1363],{"class":711},[688,2225,2227,2229],{"class":690,"line":2226},180,[688,2228,865],{"class":814},[688,2230,833],{"class":722},[688,2232,2234,2236],{"class":690,"line":2233},181,[688,2235,873],{"class":722},[688,2237,1433],{"class":711},[688,2239,2241,2243],{"class":690,"line":2240},182,[688,2242,873],{"class":722},[688,2244,1441],{"class":711},[688,2246,2248,2250],{"class":690,"line":2247},183,[688,2249,873],{"class":722},[688,2251,2252],{"class":711},"./conf/core/fail2ban/filter.d:/etc/fail2ban/filter.d\n",[688,2254,2256,2258],{"class":690,"line":2255},184,[688,2257,873],{"class":722},[688,2259,2260],{"class":711},"./conf/core/fail2ban/jail.d:/etc/fail2ban/jail.d\n",[688,2262,2264,2266],{"class":690,"line":2263},185,[688,2265,873],{"class":722},[688,2267,2268],{"class":711},"./logs/fail2ban:/var/log/fail2ban\n",[688,2270,2272,2274],{"class":690,"line":2271},186,[688,2273,873],{"class":722},[688,2275,2276],{"class":711},"./postgresql-socket:/opt/billionmail/postgresql-socket\n",[688,2278,2280,2282],{"class":690,"line":2279},187,[688,2281,873],{"class":722},[688,2283,2284],{"class":711},"./php-sock:/opt/billionmail/php-sock\n",[688,2286,2288,2290],{"class":690,"line":2287},188,[688,2289,873],{"class":722},[688,2291,2292],{"class":711},"./rspamd-data:/opt/billionmail/rspamd-data\n",[688,2294,2296,2298],{"class":690,"line":2295},189,[688,2297,873],{"class":722},[688,2299,2300],{"class":711},"./webmail-data:/opt/billionmail/webmail-data\n",[688,2302,2304,2306],{"class":690,"line":2303},190,[688,2305,873],{"class":722},[688,2307,2308],{"class":711},"./.env:/opt/billionmail/.env\n",[688,2310,2312,2314],{"class":690,"line":2311},191,[688,2313,873],{"class":722},[688,2315,2316],{"class":711},"./conf:/opt/billionmail/conf\n",[688,2318,2320,2322],{"class":690,"line":2319},192,[688,2321,873],{"class":722},[688,2323,2324],{"class":711},"./logs:/opt/billionmail/logs\n",[688,2326,2328,2330],{"class":690,"line":2327},193,[688,2329,873],{"class":722},[688,2331,2332],{"class":711},"./logs/core:/opt/billionmail/core/logs\n",[688,2334,2336,2338],{"class":690,"line":2335},194,[688,2337,873],{"class":722},[688,2339,2340],{"class":711},"./core-data:/opt/billionmail/core/data\n",[688,2342,2344,2346],{"class":690,"line":2343},195,[688,2345,873],{"class":722},[688,2347,2348],{"class":711},"/var/run/docker.sock:/var/run/docker.sock:ro\n",[688,2350,2352,2354],{"class":690,"line":2351},196,[688,2353,873],{"class":722},[688,2355,2356],{"class":711},"./vmail-data:/opt/billionmail/vmail-data\n",[688,2358,2360,2362],{"class":690,"line":2359},197,[688,2361,890],{"class":814},[688,2363,833],{"class":722},[688,2365,2367,2369],{"class":690,"line":2366},198,[688,2368,873],{"class":722},[688,2370,900],{"class":711},[688,2372,2374,2376],{"class":690,"line":2373},199,[688,2375,873],{"class":722},[688,2377,2378],{"class":711},"FAIL2BAN_INIT=${FAIL2BAN_INIT:-y}\n",[688,2380,2382,2384],{"class":690,"line":2381},200,[688,2383,1376],{"class":814},[688,2385,833],{"class":722},[688,2387,2389,2391],{"class":690,"line":2388},201,[688,2390,873],{"class":722},[688,2392,1386],{"class":711},[688,2394,2396,2398],{"class":690,"line":2395},202,[688,2397,873],{"class":722},[688,2399,2400],{"class":711},"NET_ADMIN\n",[688,2402,2404,2406],{"class":690,"line":2403},203,[688,2405,873],{"class":722},[688,2407,2408],{"class":711},"NET_RAW\n",[688,2410,2412,2414],{"class":690,"line":2411},204,[688,2413,941],{"class":814},[688,2415,833],{"class":722},[688,2417,2419,2421],{"class":690,"line":2418},205,[688,2420,873],{"class":722},[688,2422,2423],{"class":711},"\"${HTTP_PORT:-80}:${HTTP_PORT:-80}\"\n",[688,2425,2427,2429],{"class":690,"line":2426},206,[688,2428,873],{"class":722},[688,2430,2431],{"class":711},"\"${HTTPS_PORT:-443}:${HTTPS_PORT:-443}\"\n",[688,2433,2435,2437,2439],{"class":690,"line":2434},207,[688,2436,930],{"class":814},[688,2438,818],{"class":722},[688,2440,935],{"class":711},[688,2442,2444,2446],{"class":690,"line":2443},208,[688,2445,957],{"class":814},[688,2447,833],{"class":722},[688,2449,2451,2453],{"class":690,"line":2450},209,[688,2452,965],{"class":814},[688,2454,833],{"class":722},[688,2456,2458,2460],{"class":690,"line":2457},210,[688,2459,973],{"class":814},[688,2461,833],{"class":722},[688,2463,2465,2467],{"class":690,"line":2464},211,[688,2466,981],{"class":722},[688,2468,2469],{"class":711},"core\n",[688,2471,2473],{"class":690,"line":2472},212,[688,2474,739],{"emptyLinePlaceholder":738},[688,2476,2478,2481],{"class":690,"line":2477},213,[688,2479,2480],{"class":814},"networks",[688,2482,833],{"class":722},[688,2484,2486,2489],{"class":690,"line":2485},214,[688,2487,2488],{"class":814},"  billionmail-network",[688,2490,833],{"class":722},[688,2492,2494,2497,2499],{"class":690,"line":2493},215,[688,2495,2496],{"class":814},"    driver",[688,2498,818],{"class":722},[688,2500,2501],{"class":711},"bridge\n",[688,2503,2505,2508],{"class":690,"line":2504},216,[688,2506,2507],{"class":814},"    driver_opts",[688,2509,833],{"class":722},[688,2511,2513,2516,2518],{"class":690,"line":2512},217,[688,2514,2515],{"class":814},"      com.docker.network.bridge.name",[688,2517,818],{"class":722},[688,2519,2520],{"class":711},"br-billionmail\n",[688,2522,2524,2527],{"class":690,"line":2523},218,[688,2525,2526],{"class":814},"    ipam",[688,2528,833],{"class":722},[688,2530,2532,2535,2537],{"class":690,"line":2531},219,[688,2533,2534],{"class":814},"      driver",[688,2536,818],{"class":722},[688,2538,2539],{"class":711},"default\n",[688,2541,2543,2546],{"class":690,"line":2542},220,[688,2544,2545],{"class":814},"      config",[688,2547,833],{"class":722},[688,2549,2551,2553,2556,2558],{"class":690,"line":2550},221,[688,2552,873],{"class":722},[688,2554,2555],{"class":814},"subnet",[688,2557,818],{"class":722},[688,2559,2560],{"class":711},"${IPV4_NETWORK:-172.16.1}.0/24\n",[672,2562,2563],{"id":2563},"环境配置文件",[664,2565,794,2566],{},[796,2567,2570],{"href":2568,"rel":2569},"https://github.com/aaPanel/BillionMail/blob/dev/env_init",[800],".env",[677,2572,2574],{"className":679,"code":2573,"filename":681,"language":682,"meta":683,"style":683},"# Default Billion Mail Username password\nADMIN_USERNAME=billion\nADMIN_PASSWORD=billion\n\n  # Manage Safe entrance\nSafePath=billion\n\n  # BILLIONMAIL_HOSTNAME configuration, Postfix myhostname configuration\nBILLIONMAIL_HOSTNAME=mail.example.com\n\n  # pgsql NAME and USER and PASSWORD configuration\n\nDBNAME=billionmail\nDBUSER=billionmail\nDBPASS=NauF7ysRYyt9HTOiOn4JjIAL3QcRZnzj\n\n  # REDIS PASSWORD configuration\nREDISPASS=zKLnZQr3riFpcS2lEy3MOtfncztaCGKp\n\n\n  ## MAIL Ports\nSMTP_PORT=25\nSMTPS_PORT=465\nSUBMISSION_PORT=587\nIMAP_PORT=143\nIMAPS_PORT=993\nPOP_PORT=110\nPOPS_PORT=995\nREDIS_PORT=127.0.0.1:26379\nSQL_PORT=127.0.0.1:25432\n\n  ## Manage Ports\nHTTP_PORT=80\nHTTPS_PORT=443\n\n  # You can use this script to set the time zone for your container.\n  # See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for a list of timezones\"\n  # echo -e \"Use a column named \"TZ identifier\" + note the column named \"Notes\"\"\n\nTZ=Asia/Shanghai\n\n  # Default containers IPV4 intranet segment\nIPV4_NETWORK=172.16.1\n\n  # Enable fail2ban Access restrictions, specify that the IP exceeds the access limit\nFAIL2BAN_INIT=y\n\n  # Console ip whitelist   Disabled:false  Enabled:true\nIP_WHITELIST_ENABLE=false\n\n  # Number of days to keep log backup\nRETENTION_DAYS=7\n",[685,2575,2576,2581,2593,2602,2606,2611,2620,2624,2629,2639,2643,2648,2652,2661,2670,2680,2684,2689,2699,2703,2707,2712,2722,2732,2742,2752,2762,2772,2782,2792,2802,2806,2811,2821,2831,2835,2840,2845,2850,2854,2864,2868,2873,2883,2887,2892,2902,2906,2911,2921,2925,2930],{"__ignoreMap":683},[688,2577,2578],{"class":690,"line":691},[688,2579,2580],{"class":694},"# Default Billion Mail Username password\n",[688,2582,2583,2586,2590],{"class":690,"line":698},[688,2584,2585],{"class":814},"ADMIN_USERNAME",[688,2587,2589],{"class":2588},"sQ8GY","=",[688,2591,2592],{"class":711},"billion\n",[688,2594,2595,2598,2600],{"class":690,"line":704},[688,2596,2597],{"class":814},"ADMIN_PASSWORD",[688,2599,2589],{"class":2588},[688,2601,2592],{"class":711},[688,2603,2604],{"class":690,"line":735},[688,2605,739],{"emptyLinePlaceholder":738},[688,2607,2608],{"class":690,"line":742},[688,2609,2610],{"class":694},"  # Manage Safe entrance\n",[688,2612,2613,2616,2618],{"class":690,"line":747},[688,2614,2615],{"class":814},"SafePath",[688,2617,2589],{"class":2588},[688,2619,2592],{"class":711},[688,2621,2622],{"class":690,"line":753},[688,2623,739],{"emptyLinePlaceholder":738},[688,2625,2626],{"class":690,"line":870},[688,2627,2628],{"class":694},"  # BILLIONMAIL_HOSTNAME configuration, Postfix myhostname configuration\n",[688,2630,2631,2634,2636],{"class":690,"line":879},[688,2632,2633],{"class":814},"BILLIONMAIL_HOSTNAME",[688,2635,2589],{"class":2588},[688,2637,2638],{"class":711},"mail.example.com\n",[688,2640,2641],{"class":690,"line":887},[688,2642,739],{"emptyLinePlaceholder":738},[688,2644,2645],{"class":690,"line":895},[688,2646,2647],{"class":694},"  # pgsql NAME and USER and PASSWORD configuration\n",[688,2649,2650],{"class":690,"line":903},[688,2651,739],{"emptyLinePlaceholder":738},[688,2653,2654,2657,2659],{"class":690,"line":911},[688,2655,2656],{"class":814},"DBNAME",[688,2658,2589],{"class":2588},[688,2660,821],{"class":711},[688,2662,2663,2666,2668],{"class":690,"line":919},[688,2664,2665],{"class":814},"DBUSER",[688,2667,2589],{"class":2588},[688,2669,821],{"class":711},[688,2671,2672,2675,2677],{"class":690,"line":927},[688,2673,2674],{"class":814},"DBPASS",[688,2676,2589],{"class":2588},[688,2678,2679],{"class":711},"NauF7ysRYyt9HTOiOn4JjIAL3QcRZnzj\n",[688,2681,2682],{"class":690,"line":938},[688,2683,739],{"emptyLinePlaceholder":738},[688,2685,2686],{"class":690,"line":946},[688,2687,2688],{"class":694},"  # REDIS PASSWORD configuration\n",[688,2690,2691,2694,2696],{"class":690,"line":954},[688,2692,2693],{"class":814},"REDISPASS",[688,2695,2589],{"class":2588},[688,2697,2698],{"class":711},"zKLnZQr3riFpcS2lEy3MOtfncztaCGKp\n",[688,2700,2701],{"class":690,"line":962},[688,2702,739],{"emptyLinePlaceholder":738},[688,2704,2705],{"class":690,"line":970},[688,2706,739],{"emptyLinePlaceholder":738},[688,2708,2709],{"class":690,"line":978},[688,2710,2711],{"class":694},"  ## MAIL Ports\n",[688,2713,2714,2717,2719],{"class":690,"line":986},[688,2715,2716],{"class":814},"SMTP_PORT",[688,2718,2589],{"class":2588},[688,2720,2721],{"class":711},"25\n",[688,2723,2724,2727,2729],{"class":690,"line":991},[688,2725,2726],{"class":814},"SMTPS_PORT",[688,2728,2589],{"class":2588},[688,2730,2731],{"class":711},"465\n",[688,2733,2734,2737,2739],{"class":690,"line":999},[688,2735,2736],{"class":814},"SUBMISSION_PORT",[688,2738,2589],{"class":2588},[688,2740,2741],{"class":711},"587\n",[688,2743,2744,2747,2749],{"class":690,"line":1009},[688,2745,2746],{"class":814},"IMAP_PORT",[688,2748,2589],{"class":2588},[688,2750,2751],{"class":711},"143\n",[688,2753,2754,2757,2759],{"class":690,"line":1019},[688,2755,2756],{"class":814},"IMAPS_PORT",[688,2758,2589],{"class":2588},[688,2760,2761],{"class":711},"993\n",[688,2763,2764,2767,2769],{"class":690,"line":1040},[688,2765,2766],{"class":814},"POP_PORT",[688,2768,2589],{"class":2588},[688,2770,2771],{"class":711},"110\n",[688,2773,2774,2777,2779],{"class":690,"line":1047},[688,2775,2776],{"class":814},"POPS_PORT",[688,2778,2589],{"class":2588},[688,2780,2781],{"class":711},"995\n",[688,2783,2784,2787,2789],{"class":690,"line":1055},[688,2785,2786],{"class":814},"REDIS_PORT",[688,2788,2589],{"class":2588},[688,2790,2791],{"class":711},"127.0.0.1:26379\n",[688,2793,2794,2797,2799],{"class":690,"line":1063},[688,2795,2796],{"class":814},"SQL_PORT",[688,2798,2589],{"class":2588},[688,2800,2801],{"class":711},"127.0.0.1:25432\n",[688,2803,2804],{"class":690,"line":1072},[688,2805,739],{"emptyLinePlaceholder":738},[688,2807,2808],{"class":690,"line":1079},[688,2809,2810],{"class":694},"  ## Manage Ports\n",[688,2812,2813,2816,2818],{"class":690,"line":1087},[688,2814,2815],{"class":814},"HTTP_PORT",[688,2817,2589],{"class":2588},[688,2819,2820],{"class":711},"80\n",[688,2822,2823,2826,2828],{"class":690,"line":1094},[688,2824,2825],{"class":814},"HTTPS_PORT",[688,2827,2589],{"class":2588},[688,2829,2830],{"class":711},"443\n",[688,2832,2833],{"class":690,"line":1101},[688,2834,739],{"emptyLinePlaceholder":738},[688,2836,2837],{"class":690,"line":1109},[688,2838,2839],{"class":694},"  # You can use this script to set the time zone for your container.\n",[688,2841,2842],{"class":690,"line":1117},[688,2843,2844],{"class":694},"  # See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for a list of timezones\"\n",[688,2846,2847],{"class":690,"line":1125},[688,2848,2849],{"class":694},"  # echo -e \"Use a column named \"TZ identifier\" + note the column named \"Notes\"\"\n",[688,2851,2852],{"class":690,"line":1132},[688,2853,739],{"emptyLinePlaceholder":738},[688,2855,2856,2859,2861],{"class":690,"line":1139},[688,2857,2858],{"class":814},"TZ",[688,2860,2589],{"class":2588},[688,2862,2863],{"class":711},"Asia/Shanghai\n",[688,2865,2866],{"class":690,"line":1146},[688,2867,739],{"emptyLinePlaceholder":738},[688,2869,2870],{"class":690,"line":1153},[688,2871,2872],{"class":694},"  # Default containers IPV4 intranet segment\n",[688,2874,2875,2878,2880],{"class":690,"line":1158},[688,2876,2877],{"class":814},"IPV4_NETWORK",[688,2879,2589],{"class":2588},[688,2881,2882],{"class":711},"172.16.1\n",[688,2884,2885],{"class":690,"line":1166},[688,2886,739],{"emptyLinePlaceholder":738},[688,2888,2889],{"class":690,"line":1176},[688,2890,2891],{"class":694},"  # Enable fail2ban Access restrictions, specify that the IP exceeds the access limit\n",[688,2893,2894,2897,2899],{"class":690,"line":1186},[688,2895,2896],{"class":814},"FAIL2BAN_INIT",[688,2898,2589],{"class":2588},[688,2900,2901],{"class":711},"y\n",[688,2903,2904],{"class":690,"line":1194},[688,2905,739],{"emptyLinePlaceholder":738},[688,2907,2908],{"class":690,"line":1202},[688,2909,2910],{"class":694},"  # Console ip whitelist   Disabled:false  Enabled:true\n",[688,2912,2913,2916,2918],{"class":690,"line":1209},[688,2914,2915],{"class":814},"IP_WHITELIST_ENABLE",[688,2917,2589],{"class":2588},[688,2919,2920],{"class":711},"false\n",[688,2922,2923],{"class":690,"line":1216},[688,2924,739],{"emptyLinePlaceholder":738},[688,2926,2927],{"class":690,"line":1223},[688,2928,2929],{"class":694},"  # Number of days to keep log backup\n",[688,2931,2932,2935,2937],{"class":690,"line":1231},[688,2933,2934],{"class":814},"RETENTION_DAYS",[688,2936,2589],{"class":2588},[688,2938,2939],{"class":711},"7\n",[672,2941,2943],{"id":2942},"访问-billionmail","访问 BillionMail",[677,2945,2947],{"className":679,"code":2946,"filename":681,"language":682,"meta":683,"style":683},"## BillionMail\nhttps://localhost/\u003CSafePath>\n\n##\nhttps://localhost/roundcube\n",[685,2948,2949,2954,2962,2966,2971],{"__ignoreMap":683},[688,2950,2951],{"class":690,"line":691},[688,2952,2953],{"class":694},"## BillionMail\n",[688,2955,2956,2959],{"class":690,"line":698},[688,2957,2958],{"class":707},"https://localhost/",[688,2960,2961],{"class":722},"\u003CSafePath>\n",[688,2963,2964],{"class":690,"line":704},[688,2965,739],{"emptyLinePlaceholder":738},[688,2967,2968],{"class":690,"line":735},[688,2969,2970],{"class":694},"##\n",[688,2972,2973],{"class":690,"line":742},[688,2974,2975],{"class":707},"https://localhost/roundcube\n",[672,2977,2978],{"id":2978},"邮箱评分风险测试",[664,2980,2981],{},[796,2982,2985],{"href":2983,"rel":2984,"target":801},"https://www.mail-tester.com/",[800],"Spam Test Result",[656,2987,2989],{"id":2988},"利用cloudflare创建邮局域名邮箱收发邮件","📘 利用CloudFlare创建邮局（域名邮箱）收发邮件",[664,2991,2992,2993,2998,2999],{},"查看视频：",[796,2994,2997],{"href":2995,"rel":2996,"target":801},"https://www.youtube.com/watch?v=L34qkcKUQcI",[800],"油管"," ",[796,3000,3003],{"href":3001,"rel":3002,"target":801},"https://www.bilibili.com/video/BV1az42187iR",[800],"B 站",[3005,3006],"youtube-video",{"url":3007},"https://www.youtube.com/embed/L34qkcKUQcI",[3009,3010,3011],"style",{},"html pre.shiki code .slzXe, html code.shiki .slzXe{--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-default:#A0A1A7;--shiki-default-font-style:italic;--shiki-dark:#7F848E;--shiki-dark-font-style:italic}html pre.shiki code .sgdWN, html code.shiki .sgdWN{--shiki-light:#4078F2;--shiki-default:#4078F2;--shiki-dark:#61AFEF}html pre.shiki code .sBZeU, html code.shiki .sBZeU{--shiki-light:#50A14F;--shiki-default:#50A14F;--shiki-dark:#98C379}html pre.shiki code .soiGB, html code.shiki .soiGB{--shiki-light:#986801;--shiki-default:#986801;--shiki-dark:#D19A66}html pre.shiki code .skGaQ, html code.shiki .skGaQ{--shiki-light:#383A42;--shiki-default:#383A42;--shiki-dark:#ABB2BF}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);}html pre.shiki code .s3_5o, html code.shiki .s3_5o{--shiki-light:#E45649;--shiki-default:#E45649;--shiki-dark:#E06C75}html pre.shiki code .sQ8GY, html code.shiki .sQ8GY{--shiki-light:#383A42;--shiki-default:#383A42;--shiki-dark:#56B6C2}",{"title":683,"searchDepth":698,"depth":698,"links":3013},[3014,3015],{"id":658,"depth":698,"text":659},{"id":2988,"depth":698,"text":2989},"md",null,{"date":3019},"2026-03-11",{"icon":71},{"title":68,"description":683},"XC6vcfUGq9g8LaDBgfXKyNnQUViii6FmVkLMEzRBQ8s",[3024,3026],{"title":63,"path":64,"stem":65,"description":3025,"icon":66,"children":-1},"Docker 相关教程",{"title":73,"path":74,"stem":75,"description":3027,"icon":76,"children":-1},"服务器监控相关文档教程。",1777777460278]