# 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](./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 1. **File ini** — peta navigasi 2. **`docs/ai-session-summary.md`** — ringkasan sesi terakhir ⭐ 3. `docs/environment.md` — variabel `.env` (tanpa secret) 3. `.env.example` → copy ke `.env` — isi password & secret 4. Dokumen spesifik task (lihat tabel di bawah) 5. `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 ```bash 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](./project-status.md) --- ## Aturan Utama AI 1. Baca `docs/context-index.md` ini terlebih dahulu 2. **Jangan commit** `.env` — hanya update `.env.example` (placeholder) dan `docs/environment.md` 3. Integrasi Zammad → referensi `Zammad/docs/` — jangan duplikasi panjang 4. LDAP umum → referensi `server-connection/docs/environment.md` 5. Setelah deploy → buat/update `docs/deployment.md` + `docs/project-status.md`