Both self-hosted. But Cookslate runs anywhere PHP runs — no Docker, no Python, no containers.
| Feature | Mealie | Cookslate |
|---|---|---|
| Import recipes from URLs | Yes | Yes |
| Full-text search | Yes | Yes |
| Tags & categories | Yes | Yes |
| Meal planning | Yes | Yes (drag-and-drop) |
| Grocery lists | Yes | Yes |
| Pantry tracking | No | Yes |
| Shoppable quantities | No | Yes |
| Cook Mode (step-by-step) | No | Yes (with timers) |
| Nutrition data (USDA) | No | Yes |
| Cook tracking & stats | No | Yes |
| Recipe annotations | No | Yes (margin notes) |
| Dark mode | Yes | Yes |
| Multi-user | Yes | Yes (up to 5) |
| API | Yes (REST) | Yes (REST) |
| Requires Docker | Yes — required | No — any PHP hosting |
| Runs on shared hosting | No | Yes ($5/month hosting) |
| Runtime dependencies | Python, Node, PostgreSQL, Docker | PHP + MySQL. That's it. |
sudo apt install docker.io docker-compose mkdir mealie && cd mealie nano docker-compose.yml # paste 30+ lines of YAML config # configure ports, volumes, env vars docker-compose up -d # hope nothing conflicts
Requires: Linux server with Docker, CLI comfort, YAML knowledge
git clone https://github.com/frobinson47/cookslate docker compose up -d # visit localhost:8080 — done
or without Docker:
# Upload files to any PHP hosting # Import schema.sql # Visit your-site.com/api/install.php
Requires: Any web hosting with PHP 8.1 and MySQL. Or Docker if you prefer.
Mealie is a great open-source project. Cookslate builds on the same self-hosting philosophy but adds Cook Mode, pantry tracking, nutrition data, and cook stats — and runs on hosting you probably already have.
Switching from Mealie? Cookslate has a built-in Mealie importer. One click to move your recipes.