Server
The server
command starts a local web server that makes your recipe collection browsable from any device with a web browser. It's perfect for cooking from a tablet, sharing recipes with family, or browsing your collection comfortably.
Basic Usage
This starts a web server on http://localhost:9080
serving recipes from the current directory.
Starting the Server
Serve Current Directory
Serve Specific Directory
Custom Port
Allow External Access
By default, the server only accepts connections from localhost. To access from other devices:
⚠️ Security Note: Only use --host
on trusted networks. Your recipes will be accessible to anyone on the network.
Auto-Open Browser
Features
Recipe Browsing
- Tree view of all recipes organized by folders
- Search across all recipes
- Quick preview with cooking time and servings
- Full recipe view with ingredients and steps
Recipe Scaling
Scale any recipe directly in the web interface:
- Use the scaling controls to adjust servings
- All quantities update automatically
- Print or save the scaled version
Shopping Lists
Create shopping lists from the web interface:
- Select multiple recipes
- Set scaling for each recipe
- Generate combined shopping list
- Export or print the list
Mobile-Friendly
The web interface is responsive and works great on:
- Phones – Quick reference while shopping
- Tablets – Perfect for cooking
- Desktops – Comfortable browsing and planning
Network Access
Local Network
Share recipes with devices on your home network:
Kitchen Setup
Ideal setup for cooking:
Family Sharing
Let family members browse recipes:
Advanced Usage
Running as a Service
systemd (Linux)
Create /etc/systemd/system/cooklang.service
:
Enable and start:
launchd (macOS)
Create ~/Library/LaunchAgents/org.cooklang.server.plist
:
Load the service:
Docker Deployment
Create a Dockerfile
:
Build and run:
Reverse Proxy
Use with nginx for production deployment:
Web Interface Guide
Home Page
- Recipe tree – Browse by folder structure
- Search bar – Find recipes quickly
- Recent recipes – Quick access to recently viewed
Recipe View
- Ingredients panel – Checklist with quantities
- Steps – Clear cooking instructions
- Scaling control – Adjust servings dynamically
- Timer highlights – Click to start timers
- Print view – Optimized for printing
Shopping List Builder
- Click "Shopping List" in navigation
- Select recipes to include
- Set quantities for each
- Click "Generate List"
- Print or export the results
Tips and Tricks
Quick Access
Create shortcuts for common uses:
Bookmarks
Save commonly used recipe URLs:
http://localhost:9080/recipes/favorites/
http://localhost:9080/recipe/Pizza.cook
http://localhost:9080/shopping-list
Tablet Mode
For dedicated kitchen tablet:
- Start server with
--host
- Create tablet bookmark to server URL
- Use "Add to Home Screen" for app-like experience
- Enable "Reader Mode" for cleaner display
Development Workflow
When developing recipes:
Troubleshooting
Port Already in Use
Can't Access from Other Devices
- Check firewall settings
- Ensure using
--host
flag - Verify IP address is correct
- Check network connectivity
Slow Loading
- Large recipe collections may take time to index
- Consider organizing recipes into folders
- Reduce image sizes in recipe directories
Security Considerations
Local Network Only
By default, the server only accepts local connections. This is the safest option.
Network Access
When using --host
:
- Only use on trusted networks
- Consider using a firewall
- Don't expose to the internet directly
- Use reverse proxy with authentication for public access
Read-Only Access
The web interface provides read-only access to recipes. Files cannot be modified through the web interface.
See Also
- Recipe – Command-line recipe viewing
- Shopping List – Generate shopping lists via CLI
- Search – Search recipes from command line