Deploying Specifically Clementines
Introduction
Specifically Clementines is a modern, self-hosted recipe management application designed to help home cooks organize their culinary collections. Named with playful specificity, this application provides a clean interface for storing, searching, and sharing recipes while maintaining full control over your data.
Built with a focus on usability and modern web standards, Specifically Clementines offers features that commercial recipe apps charge for, all while keeping your recipes private and under your control.
Key highlights of Specifically Clementines:
- Recipe Management: Store and organize unlimited recipes with rich formatting
- Ingredient Scaling: Automatically adjust ingredient quantities for different serving sizes
- Meal Planning: Plan your weekly meals with a built-in calendar
- Shopping Lists: Generate shopping lists from selected recipes
- Import Recipes: Import recipes from popular cooking websites
- Search and Filter: Find recipes by ingredients, tags, or cuisine type
- Responsive Design: Works beautifully on desktop, tablet, and mobile
- Multi-User Support: Share your instance with family members
- Export Options: Export recipes in various formats for backup
- Nutritional Info: Track nutritional information for your recipes
- Image Support: Upload photos for each recipe
- Open Source: Self-host without subscription fees
This guide walks through deploying Specifically Clementines on Klutch.sh using Docker for a reliable recipe management solution.
Why Deploy Specifically Clementines on Klutch.sh
Deploying Specifically Clementines on Klutch.sh provides several advantages:
Simplified Deployment: Klutch.sh handles the build and deployment process automatically.
Persistent Storage: Your recipes, images, and meal plans persist across container restarts.
HTTPS by Default: Secure access to your recipes from anywhere with automatic SSL.
GitHub Integration: Version control your configuration and deploy updates automatically.
Environment Variable Management: Securely store database credentials and API keys.
Custom Domains: Access your recipe collection from a memorable URL.
Always Accessible: Your recipes are available 24/7 from any device.
Family Sharing: Multiple family members can access recipes simultaneously.
Prerequisites
Before deploying Specifically Clementines on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your configuration
- Basic familiarity with Docker
- (Optional) A custom domain for your instance
Deploying Specifically Clementines on Klutch.sh
- Select HTTP as the traffic type
- Set the internal port to 3000
Create a GitHub Repository
Create a new GitHub repository for your Specifically Clementines deployment.
Create Your Dockerfile
Create a Dockerfile in your repository:
FROM node:18-alpine AS builder
WORKDIR /app
# Clone the repositoryRUN apk add --no-cache git && \ git clone https://github.com/specificallymisc/clementines.git .
# Install dependencies and buildRUN npm ci && npm run build
FROM node:18-alpine
WORKDIR /app
# Copy built applicationCOPY --from=builder /app/.next ./.nextCOPY --from=builder /app/node_modules ./node_modulesCOPY --from=builder /app/package.json ./package.jsonCOPY --from=builder /app/public ./public
# Create data directoryRUN mkdir -p /data
# Set environment variablesENV NODE_ENV=productionENV DATA_DIR=/data
EXPOSE 3000
HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \ CMD wget --no-verbose --tries=1 --spider http://localhost:3000/ || exit 1
CMD ["npm", "start"]Push Your Repository to GitHub
Commit and push your Dockerfile.
Create a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project.
Create a New App
Within your project, create a new app and connect your GitHub repository.
Configure HTTP Traffic
In the deployment settings:
Set Environment Variables
Configure the following environment variables:
| Variable | Value |
|---|---|
SECRET_KEY | A random string for session security |
DATABASE_URL | Database connection string (if using external DB) |
NEXTAUTH_URL | Your app’s URL (e.g., https://your-app.klutch.sh) |
NEXTAUTH_SECRET | A random string for authentication |
Attach Persistent Volumes
Add the following volumes:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/data | 10 GB | Recipe data and database |
/app/public/uploads | 20 GB | Recipe images |
Deploy Your Application
Click Deploy to build and start Specifically Clementines.
Access Your Instance
Once deployment completes, access your recipe manager at https://your-app-name.klutch.sh.
Initial Configuration
Creating Your Account
When you first access Specifically Clementines:
- Click Sign Up to create your account
- Set up your profile with preferences
- Configure default serving sizes and measurement units
Adding Your First Recipe
To add a recipe:
- Click Add Recipe from the dashboard
- Enter the recipe name and description
- Add ingredients with quantities
- Write step-by-step instructions
- Upload a photo (optional)
- Add tags for easy searching
- Save your recipe
Importing Recipes
To import recipes from websites:
- Navigate to Import Recipe
- Paste the URL from a supported recipe site
- Review and edit the imported data
- Save to your collection
Meal Planning
Creating a Meal Plan
- Navigate to the Meal Planner
- Select a week to plan
- Drag recipes to specific days
- Assign meals to breakfast, lunch, or dinner slots
Generating Shopping Lists
- Select the recipes or meal plan dates
- Click Generate Shopping List
- Review and check off items you already have
- Export or print the list
User Management
Adding Family Members
- Navigate to Settings then Users
- Click Invite User
- Enter their email address
- Set permission level (viewer, editor, admin)
Permission Levels
| Level | Capabilities |
|---|---|
| Viewer | Browse and view recipes |
| Editor | Add and edit recipes |
| Admin | Full access including user management |
Data Management
Backing Up Recipes
- Go to Settings then Export
- Choose export format (JSON, PDF, or printed cookbook)
- Download your backup
Importing from Other Apps
Specifically Clementines supports importing from:
- Paprika
- Copy Me That
- Recipe Keeper
- Standard JSON formats
Troubleshooting
Recipe Import Fails
- Check that the website is supported
- Try manually adding the recipe
- Verify the URL is accessible
Images Not Loading
- Check that the uploads volume is properly mounted
- Verify file permissions in the container
- Ensure sufficient storage space
Search Not Finding Recipes
- Recipes may need reindexing after import
- Check that tags are properly assigned
- Verify search syntax
Additional Resources
Conclusion
Deploying Specifically Clementines on Klutch.sh gives you a powerful, self-hosted recipe management system that keeps your culinary collection organized and accessible. With features like meal planning, shopping list generation, and recipe importing, you can streamline your cooking workflow while maintaining complete control over your data. Whether you’re an occasional cook or a culinary enthusiast, Specifically Clementines on Klutch.sh provides a reliable foundation for managing your recipes from anywhere.