Skip to content

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:

Deploying Specifically Clementines on Klutch.sh

    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 repository
    RUN apk add --no-cache git && \
    git clone https://github.com/specificallymisc/clementines.git .
    # Install dependencies and build
    RUN npm ci && npm run build
    FROM node:18-alpine
    WORKDIR /app
    # Copy built application
    COPY --from=builder /app/.next ./.next
    COPY --from=builder /app/node_modules ./node_modules
    COPY --from=builder /app/package.json ./package.json
    COPY --from=builder /app/public ./public
    # Create data directory
    RUN mkdir -p /data
    # Set environment variables
    ENV NODE_ENV=production
    ENV 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:

    • Select HTTP as the traffic type
    • Set the internal port to 3000

    Set Environment Variables

    Configure the following environment variables:

    VariableValue
    SECRET_KEYA random string for session security
    DATABASE_URLDatabase connection string (if using external DB)
    NEXTAUTH_URLYour app’s URL (e.g., https://your-app.klutch.sh)
    NEXTAUTH_SECRETA random string for authentication

    Attach Persistent Volumes

    Add the following volumes:

    Mount PathRecommended SizePurpose
    /data10 GBRecipe data and database
    /app/public/uploads20 GBRecipe 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:

  1. Click Sign Up to create your account
  2. Set up your profile with preferences
  3. Configure default serving sizes and measurement units

Adding Your First Recipe

To add a recipe:

  1. Click Add Recipe from the dashboard
  2. Enter the recipe name and description
  3. Add ingredients with quantities
  4. Write step-by-step instructions
  5. Upload a photo (optional)
  6. Add tags for easy searching
  7. Save your recipe

Importing Recipes

To import recipes from websites:

  1. Navigate to Import Recipe
  2. Paste the URL from a supported recipe site
  3. Review and edit the imported data
  4. Save to your collection

Meal Planning

Creating a Meal Plan

  1. Navigate to the Meal Planner
  2. Select a week to plan
  3. Drag recipes to specific days
  4. Assign meals to breakfast, lunch, or dinner slots

Generating Shopping Lists

  1. Select the recipes or meal plan dates
  2. Click Generate Shopping List
  3. Review and check off items you already have
  4. Export or print the list

User Management

Adding Family Members

  1. Navigate to Settings then Users
  2. Click Invite User
  3. Enter their email address
  4. Set permission level (viewer, editor, admin)

Permission Levels

LevelCapabilities
ViewerBrowse and view recipes
EditorAdd and edit recipes
AdminFull access including user management

Data Management

Backing Up Recipes

  1. Go to Settings then Export
  2. Choose export format (JSON, PDF, or printed cookbook)
  3. 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.