Files

59 lines
2.2 KiB
Markdown
Raw Permalink Normal View History

2026-08-03 12:26:42 +08:00
# mx2.windy.me
| Item | Value |
|------|--------|
| Role | Mail server (mailcow) |
| SSH | `ssh -4 windy@mx2.windy.me` (pubkey; root denied; prefer IPv4 from WSL) |
| Install path | `/opt/mail` |
| Compose project | `cow` (`COMPOSE_PROJECT_NAME=cow`) |
| Compose file | `/opt/mail/docker-compose.yml` |
| Config | `/opt/mail/mailcow.conf` (`.env` → symlink) |
| Hostname | `MAILCOW_HOSTNAME=mx2.windy.me` |
| TZ | `Asia/Shanghai` |
| IPv4 | `194.163.160.244` |
| IPv6 | `2a02:c207:2284:8258::1` |
| Docker network | `IPV4_NETWORK=172.22.1` |
| UI | https://mx2.windy.me |
## Ports (host-published)
`25`, `465`, `587` (SMTP), `110`/`995` (POP), `143`/`993` (IMAP), `4190` (Sieve), `80`/`443` (UI)
## Domain & mailboxes
- Domain: `windy.me` (primary on this host)
- MX for `windy.me`: `mx2.windy.me` (prio 20), `mx.windy.me` (prio 30)
- Mailboxes (examples): `zhiqiang@windy.me`, `claw@windy.me`, `hermes@windy.me`
- ACME / Lets Encrypt enabled (`SKIP_LETS_ENCRYPT=n`); cert SAN includes `mx2`, `autoconfig`, `autodiscover`
- PTR (v4/v6) → `mx2.windy.me`
## Ops notes
2026-08-03 16:01:35 +08:00
- Use the Ansible health report for routine checks. Use the gated Ansible
Compose reconcile playbook for a reviewed full-stack recreate; retain direct
Compose access only for focused incident diagnosis and Mailcow's interactive
upstream updater.
2026-08-03 12:26:42 +08:00
- `SKIP_CLAMD=y` may still leave `clamd` running after updates; recreate if you need it truly skipped
- Host has ~8G RAM, no swap; watch memory under load
- Unrelated stopped containers may exist (`zc-*` monitoring stack) — not part of mailcow
## Client access (SMTP / IMAP)
See [mailcow-smtp-client](../runbooks/mailcow-smtp-client.md).
- Send: `mx2.windy.me:587` STARTTLS (or `:465` SSL), auth = full email + mailbox password
- IMAP: `mx2.windy.me:993` · POP: `:995`
- Webmail: https://mx2.windy.me
## Runbooks
- [mailcow-health](../runbooks/mailcow-health.md)
- [mailcow-update](../runbooks/mailcow-update.md)
- [mailcow-smtp-client](../runbooks/mailcow-smtp-client.md)
Routine health: `cd ansible && ansible-playbook playbooks/health-report.yml --limit mailcow`.
2026-08-03 12:26:42 +08:00
## Verified
Last checked: 2026-08-01 — Ansible mailcow health profile OK (compose up, watchdog 100%, empty queue, TLS LE OK, SMTP Postcow, A/AAAA/PTR/MX/SPF OK).