Skip to content

jaganganesh/pineapple-cloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🍍 Pineapple Cloud

Stars Forks License: GPL v3 Last Commit Sponsor

Keep your Apple ecosystem. Keep your data yours.

A lightweight, privacy-first, self-hosted iCloud alternative for Apple users.

Pineapple Cloud lets you sync natively:

  • πŸ“ Apple Notes
  • πŸ—“οΈ Calendar
  • βœ… Reminders
  • πŸ‘€ Contacts

across macOS and iOS using a minimal Docker stack powered by:

  • CalDAV
  • CardDAV
  • Local IMAP

Designed for:

  • Raspberry Pi
  • Synology NAS
  • Mini PCs
  • Homelabs
  • Privacy-conscious Apple users

All while using under 100MB of idle RAM.

Pineapple Cloud

✨ Why Pineapple Cloud?

Most self-hosted collaboration platforms are massive.

Platform Typical RAM Usage
Nextcloud 1GB+
Full mail suites Heavy
Enterprise groupware Complex
Pineapple Cloud <100MB

Pineapple Cloud was built for people who want:

  • native Apple app compatibility
  • self-hosted privacy
  • ultra-lightweight infrastructure
  • simple Docker deployment
  • zero vendor lock-in

No Electron apps. No bloated dashboards. No subscriptions. No telemetry.

Just native Apple apps syncing directly with infrastructure you control.

πŸ”’ Privacy First

Pineapple Cloud keeps your data:

  • on your hardware
  • inside your network
  • under your control

No third-party cloud sync providers. No analytics. No forced accounts. No external dependency chains.

Your Notes, Calendars, Contacts, and Reminders stay yours.

πŸš€ Features

  • 🍎 Native Apple Notes sync using local IMAP
  • πŸ—“οΈ Native Apple Calendar & Reminders sync via CalDAV
  • πŸ‘€ Native Apple Contacts sync via CardDAV
  • πŸͺΆ Ultra-lightweight architecture (<100MB idle RAM)
  • 🐳 Simple Docker Compose deployment
  • 🏠 Optimized for Raspberry Pi and NAS systems
  • πŸ“¦ Portable volume-based storage
  • πŸ”’ Local-first privacy-focused design
  • ⚑ Fast startup and low CPU overhead

🧠 How It Works

Apple uses multiple sync systems internally:

Apple Service Protocol
Calendar CalDAV
Reminders CalDAV
Contacts CardDAV
Apple Notes IMAP

Pineapple Cloud combines:

  • Radicale β†’ CalDAV + CardDAV
  • Local IMAP Mail Server β†’ Apple Notes syncing

inside a lightweight isolated Docker stack.

πŸ—οΈ Architecture

             macOS / iPhone / iPad
                       β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚                             β”‚
   Radicale Container           IMAP Container
 (Calendar / Contacts)          (Apple Notes)
        β”‚                             β”‚
        └────── Docker Network β”€β”€β”€β”€β”€β”€β”€β”˜

⚑ Quick Start

1. Clone the Repository

git clone https://github.com/jaganganesh/pineapple-cloud.git
cd pineapple-cloud

2. Create the Required Directories

mkdir -p \
data/mail-data \
data/mail-config \
data/radicale-data \
data/radicale-config \
data/radicale-certs

3. Create docker-compose.yml

services:
  # Apple Notes (IMAP)
  imap-server:
    image: mailserver/docker-mailserver:latest
    container_name: apple-imap
    ports:
      - "143:143"
    environment:
      OVERRIDE_HOSTNAME: pineapple.cloud
      ENABLE_POP3: "0"
      ENABLE_SMTP: "0"
      ENABLE_SPAMASSASSIN: "0"
      ENABLE_CLAMAV: "0"
      ENABLE_FAIL2BAN: "0"
      ONE_DIR: "1"
    cap_add:
      - NET_ADMIN
    volumes:
      - ./data/mail-data:/var/mail
      - ./data/mail-config:/tmp/docker-mailserver
    restart: unless-stopped
  # Contacts / Calendars / Reminders (CardDAV, CalDav)
  radicale:
    image: tomsquest/docker-radicale:latest
    container_name: apple-dav
    ports:
      - "5232:5232"
    volumes:
      - ./data/radicale-data:/data
      - ./data/radicale-config:/config:ro
      - ./data/radicale-certs:/certs:ro
    restart: unless-stopped

4. Start the Stack

docker compose up -d

πŸ“¬ Create Your Apple Notes Account

Apple Notes sync requires a local IMAP mailbox.

Enter the container

docker exec -it apple-imap /bin/bash

Create a user

setup email add your_name@pineapple.cloud

Then enter your password when prompted.

Exit the container afterward:

exit

πŸ” SSL / TLS Setup

Apple devices strongly prefer encrypted connections.

Option A β€” Self-Signed Certificates (Recommended)

Generate certificates locally:

openssl req -x509 \
-newkey rsa:4096 \
-keyout ./data/radicale-certs/server.key \
-out ./data/radicale-certs/server.cert \
-sha256 \
-days 3650 \
-nodes \
-subj "/CN=127.0.0.1"

On macOS:

  1. Open server.cert
  2. Launch Keychain Access
  3. Set certificate trust to:
    • Always Trust

Option B β€” Local HTTP Only

If running exclusively on:

  • localhost
  • isolated LAN
  • private homelab subnet

you may choose to skip TLS.

macOS and iOS will display warning prompts during setup.

🍎 macOS Setup Guide

Open:

System Settings β†’ Internet Accounts

πŸ‘€ Contacts (CardDAV)

Navigate to:

Add Account β†’ Add Other Account β†’ CardDAV Account

Use:

Field Value
Account Type Manual
Username Your Radicale username
Password Your password
Server Address 127.0.0.1
Port 5232
Server Path /

If using HTTP:

  • Disable SSL

If using certificates:

  • Enable SSL

CardDAV - Apple Contacts

πŸ—“οΈ Calendars & Reminders (CalDAV)

Navigate to:

Add Account β†’ Add Other Account β†’ CalDAV Account

Use the same credentials configured in Radicale.

CalDAV - Apple Calendar and Reminders

πŸ“ Apple Notes (IMAP)

Navigate to:

Add Account β†’ Add Other Account β†’ Mail Account

Use:

Field Value
Email your_name@pineapple.cloud
Incoming Mail Server 127.0.0.1
Outgoing Mail Server 127.0.0.1

When setup completes:

  • ❌ Disable Mail
  • βœ… Enable Notes

IMAP - Apple Notes

⚠️ Apple Notes Limitations

Apple Notes over IMAP is more limited than native iCloud Notes.

The following features are reduced or unavailable:

  • ❌ advanced typography styles
  • ❌ rich heading templates
  • ❌ interactive checklists
  • ❌ inline sketches
  • ❌ advanced embedded objects

For best compatibility:

  • use standard text
  • use bold/italics
  • use markdown-style lists

Basic note synchronization works reliably.

πŸͺΆ Lightweight by Design

Pineapple Cloud is intentionally engineered for low-resource systems.

Perfect for:

  • Raspberry Pi Zero 2 W, 3 Model B/B+, 400, 4 Model B, 5
  • Synology J-series
  • Intel N100 mini PCs
  • Low-power NAS systems

Designed to minimize:

  • RAM usage
  • disk writes
  • CPU overhead
  • thermal load

Ideal for always-on homelab deployments.

🏠 Tested Platforms

  • βœ… macOS
  • βœ… iOS
  • βœ… Apple Silicon Macs
  • βœ… Raspberry Pi OS
  • βœ… Ubuntu Server
  • βœ… Docker
  • βœ… Synology NAS

πŸ“¦ Portable Storage Layout

All persistent data lives inside:

./data

This makes migrations extremely simple.

Move your stack between machines by copying:

./data

and redeploying the containers.

πŸ†š Comparison

Feature Pineapple Cloud Nextcloud iCloud
Apple Notes Sync βœ… ❌ βœ…
Native Apple Apps βœ… Partial βœ…
Self-Hosted βœ… βœ… ❌
Lightweight βœ… ❌ N/A
Raspberry Pi Friendly βœ… ⚠️ Heavy ❌
Docker Compose βœ… βœ… ❌
Vendor Lock-In ❌ ❌ βœ…
Privacy First βœ… ⚠️ ❌

🧭 Why Self-Host?

Cloud convenience should not require surrendering ownership of your personal data.

Pineapple Cloud gives Apple users a way to preserve the native experience they already love while moving synchronization back onto infrastructure they control.

Your server. Your rules. Your data.

🀝 Contributing

Contributions are welcome.

  1. Fork the repository
  2. Create a feature branch
git checkout -b feature/amazing-feature
  1. Commit your changes
git commit -m "feat: add amazing feature"
  1. Push to your branch
git push origin feature/amazing-feature
  1. Open a Pull Request

⭐ Support the Project

If Pineapple Cloud helped you reclaim ownership of your Apple data:

  • ⭐ Star the repository
  • 🍴 Fork the project
  • 🧠 Share it with the self-hosted community
  • πŸ› οΈ Contribute improvements

Helping others discover the project makes a huge difference.

βš–οΈ License

Licensed under the GNU GPLv3 License.

See:

LICENSE

for details.

About

Self-hosted iCloud alternative for macOS & iOS with Apple Notes, Calendars, Contacts and Reminders sync via Docker, CalDAV/CardDAV & IMAP.

Topics

Resources

License

Stars

Watchers

Forks

Contributors