SSD Nodes Learn Hosting plans →
Mga Gabay Matt ConnorNi Matt Connor · Na-update 2026-08-31

Paano mag-self-host ng Mailcow para tanggapin ng Gmail

Bago i-install ang mailcow, i-test muna ang outbound port 25 dahil kapag blocked ito, hindi aalis ang email. I-set ang tamang DNS para maiwasan ang 550 5.7.25 PTR rejection.

Ang iyong binubuo

Isang kumpletong mail server sa sarili mong server: SMTP para sa pagpapadala at pagtanggap, IMAP para maging sync ang iyong phone at laptop, isang webmail client, at isang spam filter na nag-i-score sa bawat mensahe sa magkabilang direksyon. Pinagsasama-sama ng mailcow-dockerized ang Postfix, Dovecot, Rspamd, SOGo webmail, MariaDB, Redis, at isang ACME client sa isang Docker Compose stack, kaya hindi ang software ang mahirap na bahagi. Mapapatakbo mo ito sa loob ng kalahating oras.

Ang mahirap na bahagi ay ang lahat ng nakapalibot dito. Ang email ang tanging serbisyo kung saan aktibong hindi nagtitiwala ang internet sa isang bagong-bagong server, at ang agwat sa pagitan ng "gumagana ito" at "tahimik na kinakain ng Gmail ang bawat mensahe" ay nakadepende sa apat na DNS record at isang IP-reputation setting na maaaring hindi mo kontrolado nang lubos. Basahin ang mga prerequisite sa ibaba bago ka umupa ng kahit ano. Kung pagkatapos mong basahin ang mga ito ay napagdesisyunan mong hindi sulit ang pagpapataas ng reputation, isang lehitimong sagot iyon; ang aming rundown ng kung ano ang tunay na sulit i-self-host sa 2026 ay naglalagay sa email sa kategoryang "kung seryoso ka lang talaga" dahil sa mga mismong dahilan na ito.

Ang mga prerequisite ANG mismong proyekto

Kapag may nakaligtaan ka sa mga ito, hindi makakarating ang iyong mga email. Narito ang pagkakasunod-sunod ng mga karaniwang dahilan kung bakit nabibigo ang mga user:

Dapat ay bukas ang outbound port 25. Ang iyong server ay nagdedeliber ng mail sa Gmail at Microsoft gamit ang TCP port 25. Maraming VPS at cloud provider ang naka-block ang outbound 25 bilang default para maiwasan ang spam. Tahimik ang block na ito; walang error sa boot, mukhang maayos ang lahat, ngunit ang mail ay mananatili lang sa queue habambuhay. I-test ito bago ka mag-install ng kahit ano. Kung ito ay blocked, ang tanging solusyon ay mag-submit ng support ticket para hilingin sa provider na buksan ito; ang ilan ay pumapayag para sa mga matagal nang account, habang ang iba ay hindi kailanman papayag.

Malinis na IP na may maayos na reputasyon. Ang mga recycled na VPS IP ay madalas na nasa mga blocklist na dahil sa spam ng dating gumamit nito. I-check ang iyong IP sa mga serbisyo gaya ng Spamhaus lookup o mxtoolbox bago magpatuloy. Ang isang listed na IP ay magreresulta sa mga rejection na hindi mo maaayos sa pamamagitan ng coding.

Kontrol sa DNS at tamang PTR record. Kailangan mong magdagdag ng mga record sa zone ng iyong domain, at kailangan mo ng reverse DNS (PTR) para sa IP ng server na nakaturo pabalik sa iyong mail hostname. Ang PTR ay halos hindi nakikita sa iyong DNS panel; ito ay nasa provider na nagmamay-ari ng IP, kaya ito ay sine-set sa control panel ng iyong VPS provider o sa pamamagitan ng ticket.

6 GiB RAM at 2 vCPU ang komportableng minimum. Ang minimum ng mailcow ay 6 GiB RAM at 1 GiB swap para sa private install, at 8 GiB ang inirerekomenda kapag may ilang user na ang gumagamit nito. Sa ibaba ng 2.5 GiB, ang generate_config.sh ay mag-aalok na i-disable ang ClamAV virus scanner para hindi patayin ng kernel ang mga container. Maglaan ng 20 GB na SSD para sa simula.

DNS name, hindi lang basta IP. Pumili ng hostname gaya ng mail.example.com. Ang iisang pangalan na iyon ang magiging iyong MAILCOW_HOSTNAME, ang subject ng iyong TLS certificate, ang target ng iyong PTR, at ang iyong SMTP banner. Panatilihin itong consistent sa lahat ng lugar.

Hakbang 1, Patunayan na bukas ang outbound port 25

Gawin ito nang una. Sayang lang ang lahat ng iba pang effort kung mabibigo ito. Mula sa bagong VPS, subukang magbukas ng SMTP conversation sa isang totoong mail server:

sudo apt update && sudo apt install -y netcat-openbsd
nc -vz -w 5 gmail-smtp-in.l.google.com 25

Ang matagumpay na resulta ay agaran:

Connection to gmail-smtp-in.l.google.com (142.250.x.x) 25 port [tcp/smtp] succeeded!

Ang blocked na port ay magha-hang sa loob ng limang segundo, pagkatapos ay magfe-fail:

nc: connect to gmail-smtp-in.l.google.com port 25 (tcp) timed out: Operation now in progress

Ang timeout na iyon ay ang block. Ito ay isang network filter sa panig ng provider, hindi sa iyong firewall, kaya walang lokal na pagbabago ang makakaayos nito. Magbukas ng ticket: "Pakibuksan ang outbound TCP port 25 para sa aking VPS sa <IP>; nagpapatakbo ako ng lehitimong mail server." Huwag i-install ang mailcow hangga't hindi ito nagbabalik ng "succeeded". Tandaan na ang inbound 25 (ibang mga server na kumokonekta sa iyo) ay hiwalay na path at karaniwang bukas; ang outbound side ang karaniwang nililimitahan ng mga provider.

Hakbang 2, I-set ang mga DNS record ngayon

Ang mga pagbabago sa DNS ay nangangailangan ng oras para mag-propagate, kaya i-publish ang lahat ng maaari bago mag-install. Ipagpalagay na ang iyong domain ay example.com, ang iyong mail host ay mail.example.com, at ang IP ay 10.0.0.10. Sa iyong zone, gawin ang mga sumusunod:

mail.example.com.        A      10.0.0.10
mail.example.com.        AAAA   2001:db8::10          ; only if you have IPv6
example.com.             MX  10 mail.example.com.
example.com.             TXT    "v=spf1 mx -all"
_dmarc.example.com.      TXT    "v=DMARC1; p=none; rua=mailto:postmaster@example.com"

Sinasabi ng SPF record na "ang aking MX lamang ang maaaring magpadala para sa domain na ito, i-reject ang iba". Simulan ang DMARC sa p=none upang ma-monitor mo ang mga report nang hindi naba-bounce ang sarili mong mail; higpitan ito sa p=quarantine at pagkatapos ay p=reject kapag napatunayan na ang alignment. May dalawang record pa na sadyang kulang: DKIM, na gagawin ng mailcow para sa iyo sa Hakbang 6, at PTR, na ise-set mo ngayon sa panel ng iyong provider.

I-set ang PTR (reverse DNS) para sa 10.0.0.10 patungo sa mail.example.com, ang eksaktong value ng MAILCOW_HOSTNAME. Ito ang nag-iisang record na madalas makalimutan ng mga tao, at dito nag-re-reject ang malalaking provider. Kung walang rDNS field ang iyong panel, mag-raise ng ticket.

Hakbang 3, I-install ang Docker

Kailangan ng mailcow ang Docker Engine na may Compose v2 plugin. Gamitin ang official convenience script ng Docker sa halip na ang docker.io package ng Ubuntu, dahil wala itong kasamang Compose plugin:

curl -fsSL https://get.docker.com | sudo sh
sudo docker compose version

Dapat kang makakita ng linyang Docker Compose version v2.x. Kung ang docker compose version ay nag-print ng docker: 'compose' is not a docker command, ibig sabihin ay naka-install ang Docker Engine pero wala ang Compose plugin. I-install ang plugin mula sa repository ng Docker, patakbuhin muli ang script sa itaas, o sundin ang aming gabay sa Docker Compose basics, na nagse-set up ng pareho mula sa sariling apt repository ng Docker.

Hakbang 4, I-clone ang mailcow at i-generate ang config

cd /opt
sudo git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
umask
sudo ./generate_config.sh

Siguraduhing ang umask ay naglalabas ng 0022; tumatanggi ang mailcow na mag-build kapag may kakaibang file mask, at ang bagong Ubuntu 24.04 root shell ay nagbibigay na agad ng 0022. Itatanong ng script ang tanging mahalagang bagay: ang fully qualified hostname. Ilagay ang mail.example.com, dapat eksaktong tumugma ang value nito sa iyong A record at PTR. Isusulat nito ang mailcow.conf, ang nag-iisang environment file na binabasa ng buong stack. Buksan ito kung kailangan mong baguhin ang mga web port (HTTP_PORT, HTTPS_PORT) o i-disable ang ClamAV sa isang maliit na server:

MAILCOW_HOSTNAME=mail.example.com
HTTP_PORT=80
HTTPS_PORT=443
SKIP_CLAMD=n          # set to y to drop the virus scanner on a <2.5 GiB box

Ang SKIP_FTS=y ang isa pang opsyon para sa mga box na mababa ang RAM: ang full-text search ang pangalawang kumakain ng memory ayon sa docs ng mailcow, at ang pag-skip dito ay nangangahulugan lang na mawawala ang body-text search sa webmail.

Huwag galawin ang HTTP_PORT=80 at HTTPS_PORT=443 maliban na lang kung ginagamit na ang mga ito ng ibang serbisyo sa host; kailangan ng built-in ACME client ng mailcow na ma-access ang port 80 mula sa internet para makuha ang certificate. Ito ang dahilan kung bakit hindi ka dapat magpatakbo ng hiwalay na nginx-plus-Certbot setup sa parehong box; ang mailcow mismo ang nag-i-issue at nagre-renew ng sarili nitong TLS, at masisira ito kung may ibang serbisyong nakabara sa 80/443. Ganito rin ang aplikasyon sa anumang serbisyong nangangailangan ng public web front end, kaya ang isang build gaya ng Halcyon na nagre-reskin ng Jellyfin library bilang 90s video store, na nangangailangan ng sarili nitong reverse proxy sa 443, ay dapat ilagay sa ibang host. Ang exception ay ang serbisyong hindi humihingi ng public web port: ang self-hosted RustDesk relay ay nakikinig lamang sa sarili nitong range na 21115 hanggang 21119, kaya maaari itong makisalo sa box basta't may sapat kang bandwidth.

Hakbang 5, Simulan ang stack at mag-log in

sudo docker compose pull
sudo docker compose up -d
sudo docker compose ps

Ang pull ay kumukuha ng humigit-kumulang dalawang dosenang image; maglaan ng ilang minuto para dito. Kapag ipinakita ng docker compose ps na ang bawat container ay running (o healthy), buksan ang https://mail.example.com sa isang browser. Ang default na admin login ay username na admin, password na moohoo. Palitan agad ang password na iyon sa admin UI sa ilalim ng Access → Administrators. Kung magbabala ang browser ng NET::ERR_CERT_AUTHORITY_INVALID, hindi pa naibibigay ang ACME certificate, tingnan ang ACME failure sa ibaba bago ipalagay na sira ito; normal lang ang self-signed placeholder sa unang isa o dalawang minuto.

Hakbang 6, Magdagdag ng domain, mailbox, at mag-publish ng DKIM

Sa admin UI, buksan ang pahina ng Mail Setup (Configuration → Mail Setup), at sa ilalim ng tab na Domains, i-click ang Add domain at ilagay ang example.com. Pagkatapos, sa ilalim ng Mailboxes, i-click ang Add mailbox upang gawin ang you@example.com na may password. Ito ay isang gumaganang mailbox na maaari nang ma-access sa pamamagitan ng IMAP.

Ngayon, para sa DKIM key. Pumunta sa Configuration → ARC/DKIM keys; maaaring nakagawa na ang mailcow ng key noong idinagdag mo ang domain, kung hindi pa, gumawa ng isa roon, piliin ang domain, panatilihin ang selector na dkim, piliin ang 2048-bit, at i-click ang Add. Kopyahin ang mahabang TXT value na ipapakita nito at i-publish ito bilang:

dkim._domainkey.example.com.  TXT  "v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqh...long-key...QAB"

Ang pahina ng Domains sa mailcow ay may button na DNS na naglilista ng bawat record na inaasahan nito at nagpapakita ng berdeng tsek o pulang krus base sa kung ano ang kasalukuyang naka-publish. Gamitin ito bilang iyong checklist, siguraduhing berde ang bawat row bago subukan ang deliverability. Ang pulang DKIM row matapos mag-publish ay kadalasang nangangahulugan na ang key ay maling nahati sa mga TXT chunk; ang 2048-bit key ay mas mahaba sa 255-character limit para sa isang TXT string, kaya i-paste ito bilang isang logical value at hayaan ang iyong DNS host na humati nito sa mga chunk para sa iyo.

Hakbang 7, I-test ang deliverability at abutin ang 10/10

Pumunta sa mail-tester.com, kopyahin ang random address na ipapakita nito, at magpadala ng mensahe rito mula sa iyong bagong mailbox. Mag-log in sa SOGo webmail sa https://mail.example.com/SOGo at magpadala mula roon. Pagkatapos, i-click ang "Then check your score".

Targetin ang 10/10 na score. Narito ang mga karaniwang bawas sa puntos at ang mga sanhi nito:

  • SPF not aligned, ang iyong MX/SPF record ay kulang o hindi kasama ang sending IP. I-check muli ang SPF TXT.
  • DKIM signature does not verify, ang dkim._domainkey TXT ay kulang, kasalukuyan pang nag-propagate, o may maling format. Ito ang pinakamadalas na pagkakamali.
  • No PTR / PTR mismatch, ang reverse DNS ay hindi nag-re-resolve sa mail.example.com. Ayusin ito sa iyong provider.
  • Listed on a blocklist, dahil sa nakaraang reputasyon ng iyong IP. Mag-request ng delisting o humingi ng mas malinis na IP.

Huwag munang magpadala ng totoong email sa Gmail o Outlook hangga't hindi 10/10 ang score. Ang mababang score na may kasamang bagong IP ang dahilan kung bakit naba-flag ang domain sa unang araw pa lang.

Hakbang 8, Ikonekta ang isang real mail client

Ituro ang Thunderbird, Apple Mail, o ang iyong phone sa server gamit ang mga setting na ito. Ang server host ay mail.example.com para sa lahat ng ito:

  • IMAP: port 993, SSL/TLS (o 143 na may STARTTLS)
  • SMTP submission: port 465, SSL/TLS (o 587 na may STARTTLS)
  • Username: ang buong address, you@example.com
  • Password: ang mailbox password na itinakda mo

Huwag kailanman magpadala ng client mail sa port 25, ang port na iyon ay para sa server-to-server lamang, hindi nag-aalok ang mailcow ng authenticated submission doon, at tatanggihan ang client na nakaturo rito. Kung mag-report ang client ng Relay access denied, sinusubukan nitong magpadala sa port 25 o walang authentication; ilipat ito sa 465 o 587 gamit ang iyong mga mailbox credential.

Hakbang 9, I-back up ang mga mahahalagang data

Ang mailcow ay may kasamang backup script na kumukuha ng snapshot ng bawat stateful volume. Patakbuhin ito patungo sa isang external disk o naka-mount na remote storage:

sudo MAILCOW_BACKUP_LOCATION=/opt/mailcow-backups \
  ./helper-scripts/backup_and_restore.sh backup all

Ang all ay kumukuha ng anim na bagay, at ang pagkawala ng kahit isa sa mga ito ay nangangahulugan ng pagkawala ng data: vmail (ang mismong mga mailbox), crypt (ang mga key na nagde-decrypt sa vmail, walang silbi kung wala ito), mysql (ang MariaDB na naglalaman ng mga domain, user, alias, at setting), redis (queue at cache state), rspamd (mga natutunang spam/ham), at postfix (ang mail queue). Tumatakbo ito sa loob ng isang helper container na nagsusulat ng mga compressed archive, kaya nananatiling consistent ang mga backup kahit live ang stack. I-automate ito gamit ang isang nightly cron job, at idagdag ang --delete-days 14 upang mag-prune ng mga lumang set. Ang cron job na huminto sa paggana ay hindi nagbibigay ng babala, kaya ipadala ang exit status ng script sa isang lugar na mapapansin mo; ang isang self-hosted ntfy server ay tumatanggap ng one-line curl mula sa parehong cron entry at ipapadala ang error sa iyong telepono sa gabi mismo kung kailan ito nangyari. Ang pag-restore ay ginagawa gamit ang parehong script na may restore, na naglilista ng mga snapshot at nagpapahintulot sa iyong pumili kung ano ang ibabalik. Ang backup na hindi mo pa nasubukang i-restore ay isa lamang pag-asa, hindi backup; magsagawa ng dry run sa isang scratch VPS.

Hakbang 10, Pag-update ayon sa schedule

Ang mailcow ay nag-a-update gamit ang sarili nitong script, na kumukuha ng bagong code, nag-ma-migrate ng mailcow.conf, nag-pe-prefetch ng mga image, at nag-re-restart ng mga container sa ganitong pagkakasunod-sunod:

cd /opt/mailcow-dockerized
sudo ./update.sh --check   # reports whether an update exists, changes nothing
sudo ./update.sh           # applies it

Mag-back up muna (Hakbang 9), dahil mahirap i-reverse ang schema migration. Madalas ang paglabas ng mga update at kasama rito ang mga security fix para sa mga internet-facing daemon, kaya huwag hayaang mapag-iwanan ang mail server nang ilang buwan. Kung sakaling maging unhealthy ang isang container pagkatapos ng update, tutukuyin ng sudo docker compose logs --tail=50 <service>-mailcow ang daemon na hindi nakabalik sa normal na operasyon.

Paalala sa hardening

Ang mailcow ay nagpapatakbo ng sarili nitong netfilter service (netfilter-mailcow) na nagba-ban sa mga IP na paulit-ulit na sumusubok pumasok sa mga mail at webmail port, kaya protektado na ang mail side mula sa simula. Hindi nito sakop ang SSH sa mismong host, na nananatiling exposed at target ng brute-force; samahan ang build na ito ng Fail2ban na nagbabantay sa SSH auth log at gumamit ng key-only login. Panatilihing protektado ang mailcow admin UI ng malakas na password at, hangga't maaari, huwag itong ilantad sa public internet o ilagay ito sa likod ng isang VPN.

Mga mode ng pagkabigo, kasama ang mga eksaktong string

Hindi maipadala ang mail at nananatili sa queue. Patakbuhin ang sudo docker compose exec postfix-mailcow postqueue -p, o basahin ang mail queue sa admin UI; ang mga entry ay naka-deferred at may ganitong mensahe:

status=deferred (connect to gmail-smtp-in.l.google.com[142.250.x.x]:25: Connection timed out)

Ibig sabihin nito ay naka-block ang outbound port 25 ng iyong provider (Hakbang 1). Walang configuration na makakaayos nito, mag-open ng ticket. Hindi ito isyu sa DNS o TLS; ang palatandaan ay ang salitang timed out laban sa isang remote MX sa port 25.

Minamarkahan ng Gmail ang lahat bilang spam, o ibinabalik ang email. Buksan ang mensahe sa Gmail, piliin ang "Show original", at basahin ang mga auth result. Ang dkim=fail o dkim=none ay nangangahulugang ang iyong dkim._domainkey TXT ay kulang, mali ang pagkaka-format, o hindi pa nag-propagate. I-publish muli ang eksaktong ipinapakita sa ARC/DKIM page at maghintay base sa TTL. Ang spf=fail ay nangangahulugang hindi sakop ng iyong SPF/MX records ang iyong IP. Mahalaga ang alignment; ang isang bagsak na check ay sapat na para mapunta sa spam.

Nare-reject ng malalaking provider sa oras ng koneksyon. Ang mga bounce o Postfix log ay naglalaman ng PTR rejection mula sa Gmail:

550-5.7.25 [10.0.0.10] The IP address sending this message does not have a PTR
550-5.7.25 record setup, or the corresponding forward DNS entry does not match
550 5.7.25 the sending IP. As a policy, Gmail does not accept messages from IPs
550 5.7.25 with missing PTR records.

Ang code na 550 5.7.25 ay nangangahulugang kulang o hindi tugma ang reverse DNS. I-set ang PTR para sa iyong IP patungo sa mail.example.com sa iyong provider (Hakbang 2). Dapat magtugma ang forward (A) at reverse (PTR) records, at dapat pareho ang host name na ginagamit ng mailcow kapag nakikipag-ugnayan sa ibang server.

Nagpapakita ang browser ng certificate warning na hindi nawawala. Nabigong kumuha ng totoong cert ang acme-mailcow container. Suriin ang log nito:

sudo docker compose logs acme-mailcow | tail -n 40

Ang linya na gaya ng Cannot validate any hostnames, skipping Let's Encrypt for 1 hour. o isang challenge failure ay nangangahulugang hindi maabot ang port 80 mula sa internet, o ang A record ay hindi nakaturo sa server na ito. Siguraduhin na ang mail.example.com ay nag-re-resolve sa server, buksan ang 80 at 443 sa anumang host firewall, at tiyaking walang ibang serbisyo ang gumagamit ng mga port na ito. Matapos ayusin ang sanhi, i-restart ang client gamit ang sudo docker compose restart acme-mailcow sa halip na maghintay ng isang oras para sa back-off.

FAQ

Sulit ba talaga ang mag-self-host ng email?

Kung ang habol mo ay data ownership, unlimited aliases, at full control, oo, nagbibigay ang mailcow ng professional stack sa halaga ng isang VPS. Pero ang deliverability ay isang tuloy-tuloy na trabaho: ang IP reputation, DNS alignment, at blocklist monitoring ay hindi natatapos. Para sa isang mission-critical na business address kung saan ang isang araw na pagpasok sa spam folder ay may katumbas na lugi, mas praktikal ang gumamit ng managed provider. Mag-self-host kung mas mahalaga sa iyo ang control kaysa sa convenience at kung handa kang mag-maintain nito. Kung ang talagang gusto mo ay mailipat ang data mo mula sa server ng iba, magsimula sa serbisyong walang ibang nakikialam: ang photo library ay walang problema sa deliverability, at ang paghahambing namin sa PhotoPrism at Immich ay tumatalakay sa RAM requirements at backup commands para sa setup na iyon sa parehong uri ng VPS.

Paano ko malalaman kung blocked ang outbound port 25?

Patakbuhin ang nc -vz -w 5 gmail-smtp-in.l.google.com 25 mula sa server. Ang "succeeded!" ay nangangahulugang bukas ito; ang timed out pagkatapos ng pause ay nangangahulugang bina-block ito ng iyong provider. Ito ang pinakakaraniwang dahilan kung bakit nakakatanggap ng email ang isang self-hosted server pero hindi makapag-send, at ang tanging solusyon ay ang pagpapa-open ng port sa provider; walang local setting na makakapagbago nito.

Bakit napupunta pa rin sa spam folder ng Gmail ang email ko?

Kadalasan, ito ay dahil sa sirang authentication chain. Gamitin ang "Show original" sa Gmail at hanapin ang spf=pass, dkim=pass, at dmarc=pass. Ang dkim=fail ay senyales ng kulang o maling dkim._domainkey TXT record; nakakasama rin ang PTR mismatch o bagong IP na wala pang sending history. Siguraduhing makakuha ng 10/10 sa mail-tester.com, pagkatapos ay dahan-dahang i-warm up ang IP—magsimula sa ilang mensahe bawat araw hanggang sa dumami—sa halip na magpadala ng maramihan agad sa unang araw.

Ano ba talaga ang kailangan kong i-back up?

Patakbuhin ang backup_and_restore.sh backup all at ilabas ang buong set mula sa server. Kinukuha nito ang vmail (ang mga mailbox), crypt (ang mga key na nagde-decrypt sa mga ito), ang MariaDB database (mga domain, user, alias, settings), Redis, ang learned data ng Rspamd, at ang Postfix queue. Ang crypt volume ang madalas makalimutan ng mga tao; kung wala ito, ang vmail backup ay hindi mababasang ciphertext. Subukan ang restore sa isang scratch box kahit isang beses.

Pwede ko bang patakbuhin ang mailcow sa isang 2 GB VPS?

Hindi ito komportable. Nag-aalok ang generate_config.sh na i-disable ang ClamAV kung mababa sa 2.5 GiB ang RAM, at kahit gawin iyon, mag-aagawan pa rin sa memory ang Rspamd, ClamAV, Dovecot, at MariaDB. Magkakaroon ka ng swap at OOM kills kapag may load. Ituring ang 6 GiB na may 1 GiB swap bilang minimum para sa stable na single-user install, at lumipat sa 8 GiB kapag higit sa dalawang tao na ang umaasa rito.