Deploying RecipeSage
Introduction
RecipeSage is a self-hosted recipe manager, meal planner, and shopping list application. With features for importing recipes from the web, organizing your collection, and planning meals, RecipeSage is a complete solution for home cooks who want to keep their recipes in one place.
Key features of RecipeSage include:
- Recipe Management: Store and organize your recipe collection
- Web Import: Import recipes from thousands of websites
- Meal Planning: Plan meals for the week or month
- Shopping Lists: Generate shopping lists from meal plans
- Recipe Sharing: Share recipes with friends and family
- Labels and Categories: Organize with flexible tagging
- Scale Recipes: Adjust serving sizes automatically
- Print Friendly: Clean printable recipe format
- Progressive Web App: Install on mobile devices
- Multi-User: Share access with household members
This guide walks through deploying RecipeSage on Klutch.sh using Docker and setting up your recipe management system.
Prerequisites
Before deploying RecipeSage on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your RecipeSage configuration
- A PostgreSQL database
- Basic familiarity with Docker
Deploying RecipeSage on Klutch.sh
- Select HTTP as the traffic type
- Set the internal port to 3000
Create Your Dockerfile
Create a Dockerfile in your repository:
FROM julianpoy/recipesage:latest
# Environment configurationENV NODE_ENV=productionENV PORT=3000
# Expose the web interfaceEXPOSE 3000Push Your Repository to GitHub
Commit and push your Dockerfile to your GitHub repository.
Create a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project named “recipesage”.
Create a New App
Create a new app within your project and connect your GitHub repository.
Configure HTTP Traffic
In the deployment settings:
Set Environment Variables
Configure the following environment variables:
| Variable | Value |
|---|---|
NODE_ENV | production |
PORT | 3000 |
DATABASE_URL | postgres://user:password@host:5432/recipesage |
GCM_SENDER_ID | Your GCM sender ID (for push notifications) |
GRIP_URL | WebSocket URL (optional) |
Attach Persistent Volumes
Add persistent storage:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/app/uploads | 20 GB | Recipe images and attachments |
Deploy Your Application
Click Deploy to build and start your RecipeSage instance.
Access RecipeSage
Once deployment completes, access your instance at https://your-app-name.klutch.sh. Create your account to get started.
Using RecipeSage
Adding Recipes
Manual Entry:
- Click “New Recipe”
- Fill in title, ingredients, and instructions
- Add images and labels
- Save the recipe
Import from URL:
- Click “Import from URL”
- Paste the recipe page URL
- RecipeSage extracts recipe data automatically
- Review and edit as needed
Meal Planning
- Navigate to Meal Planner
- Click on a day to add meals
- Select recipes from your collection
- View the week’s meal plan
Shopping Lists
- Select recipes or meal plan items
- Click “Add to Shopping List”
- Ingredients are compiled and combined
- Check off items while shopping
Browser Extension
Install the RecipeSage browser extension to save recipes with one click while browsing recipe websites.
Additional Resources
Conclusion
Deploying RecipeSage on Klutch.sh provides a complete recipe management solution with automatic builds, persistent storage, and secure HTTPS access. Organize your recipes, plan meals, and generate shopping lists while keeping your culinary collection private and accessible.