You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5.1 KiB
5.1 KiB
Context Index — Mailcow ⭐ AI Entry Point
Terakhir Diperbarui: 2026-07-03
Fase Aktif: Fase 1 — Mailcow live, transisi MX cPanel → sync 📧
Sesi terakhir: docs/ai-session-summary.md
Filosofi
Proyek ini menerapkan AI Native Development:
- Repository = sumber kebenaran utama (Single Source of Truth)
- AI tidak boleh mengandalkan riwayat percakapan
- Developer sering berpindah perangkat — konteks harus tersimpan di repo
- Implementasi tanpa dokumentasi = belum selesai
Urutan Membaca
- File ini — peta navigasi
docs/ai-session-summary.md— ringkasan sesi terakhir ⭐docs/environment.md— variabel.env(tanpa secret).env.example→ copy ke.env— isi password & secret- Dokumen spesifik task (lihat tabel di bawah)
Zammad/docs/context-index.md— integrasi email channel
Posisi dalam Super Apps
Internet → MX geonet.co.id → cPanel (staging, inbox kosong setelah POP3)
│
fetchmail POP3 + delete (VM .27)
▼
Mailcow sync.geonet.co.id — inbox canonical (IMAP)
│ │
Outlook user Zammad
IMAP+SMTP sync IMAP+SMTP sync
| Repo terkait | Entry point | Kapan baca |
|---|---|---|
| Zammad | Zammad/docs/context-index.md |
Channel email inbound/outbound |
| server-connection | server-connection/docs/context-index.md |
LDAP AD, nginx pattern |
| mysupperapps_FE_PWA | docs/context-index.md |
Mail UI /mail (fase berikutnya) |
Peta Dokumentasi
docs/ — Flat Files
| File | Isi | Status | Baca Saat |
|---|---|---|---|
docs/context-index.md |
File ini — navigasi | ✅ | Selalu |
docs/environment.md |
Env vars, port, integrasi Zammad | ✅ | Setup, deploy |
docs/project-status.md |
Status modul, milestone | ✅ | Planning |
docs/ai-session-summary.md |
Ringkasan sesi terakhir | ✅ | Lanjut kerja |
docs/roadmap.md |
Fase Mailcow dalam super apps | 📋 | Planning |
docs/todo.md |
Next actions berprioritas | ✅ | Sebelum coding |
docs/changelog.md |
Riwayat perubahan penting | ✅ | Referensi |
docs/issues.md |
Known bugs + workaround | ✅ | Debug |
docs/server.md |
Server, SSH, spec VM .28 |
✅ | Deploy |
docs/deployment.md |
Step-by-step install Mailcow | ✅ | Deploy |
docs/security.md |
Credential, DNS, port 25 | 📋 | Security |
docs/notes/
| File | Isi |
|---|---|
email-sync-migration-concept.md |
Konsep sync hosting → Mailcow → Zammad (MX tetap cPanel) |
zammad-email-channel.md |
Step-by-step SMTP + IMAP Zammad ↔ Mailcow |
dns-cutover-geonet-co-id.md |
MX, SPF, DKIM, DMARC cutover dari cPanel |
storage-nas-qnap.md |
Email di NAS QNAP — iSCSI / NFS / backup |
deployment-sizing.md |
Linux + Docker, spec VM 30+ user |
ldap-ad-mailcow.md |
LDAP AD → Mailcow — auth + provisioning user terpusat |
Root repo
| File | Isi |
|---|---|
.env.example |
Template konfigurasi — aman di-commit |
.env |
Nilai aktual (password) — gitignored |
.gitignore |
Exclude secret & data Mailcow |
scripts/install-fetchmail-support.sh |
Install POP3 drain + systemd timer |
Quick Reference
| Fungsi | URL / Path |
|---|---|
| Mailcow UI (target) | https://sync.geonet.co.id |
| Hostname mail | sync.geonet.co.id |
| Mailbox support (fase sync) | support@sync.geonet.co.id |
| Mailbox produksi (hosting) | support@geonet.co.id @ cPanel |
| Domain utama | geonet.co.id (MX tetap hosting) |
| Docker stack (target) | /opt/stacks/mailcow/ |
| Server Mailcow | 10.100.1.28 (16 vCPU, 32 GB, 2×512 GB SSD) |
| Server Zammad | 10.100.1.24 |
Port layanan
| Port | Layanan |
|---|---|
| 25 | SMTP inbound |
| 465 | SMTPS |
| 587 | Submission (Zammad outbound) |
| 993 | IMAPS (Zammad inbound) |
| 443 | HTTPS Web UI |
SSH
ssh mailcow # 10.100.1.28
SSH ke server wajib minta persetujuan user sebelum dijalankan.
Status saat ini (2026-07-03)
| Item | Status |
|---|---|
Mailcow stack /opt/stacks/mailcow |
✅ |
Domain geonet.co.id + DKIM generated |
✅ |
fetchmail POP3 drain support@ |
✅ timer 2 menit |
Outbound relay cPanel :587 |
✅ transisi |
SOGo kirim/terima support@ |
✅ verified user |
| LDAP IdP (user AD lain) | ✅ |
| Zammad → Mailcow channel | ❌ |
| DKIM/SPF DNS publish | ❌ |
| MX cutover ke sync | ❌ |
Detail: project-status.md
Aturan Utama AI
- Baca
docs/context-index.mdini terlebih dahulu - Jangan commit
.env— hanya update.env.example(placeholder) dandocs/environment.md - Integrasi Zammad → referensi
Zammad/docs/— jangan duplikasi panjang - LDAP umum → referensi
server-connection/docs/environment.md - Setelah deploy → buat/update
docs/deployment.md+docs/project-status.md