Skip to content

Installation

Learn how to install and configure Caramel for your restaurant’s gift card and loyalty programs.

Before installing Caramel, ensure you have:

  • A registered business account
  • Payment processor credentials (Stripe)
  • Restaurant logo and branding assets
  • Staff email addresses for team access

Cloud Hosted

Recommended - We handle everything for you

  • No installation required
  • Automatic updates
  • 99.9% uptime SLA
  • Full support included

Self-Hosted

Host on your own infrastructure

  • Full control and customization
  • Keep data on-premise
  • Requires technical expertise
  • Manual updates
  1. Sign Up

    Create your account at joincaramel.com/signup

  2. Verify Email

    Check your inbox and click the verification link

  3. Complete Onboarding

    Follow the setup wizard to configure:

    • Restaurant details
    • Payment processing
    • Team members
    • Initial campaign
  4. Go Live

    Your gift card platform is ready to use!

  • Server: 4GB RAM, 2 CPU cores minimum
  • Database: PostgreSQL 14+ or MySQL 8+
  • Storage: 20GB minimum
  • OS: Ubuntu 20.04+ or RHEL 8+
  • Docker: Optional but recommended
Terminal window
# Pull the Caramel image
docker pull caramel/platform:latest
# Create configuration
cp .env.example .env
# Edit configuration
nano .env
# Run with Docker Compose
docker-compose up -d
# Access at http://localhost:3000

Create a .env file with your configuration:

Terminal window
# Application
APP_URL=https://your-domain.com
APP_ENV=production
APP_KEY=generate-secure-key
# Database
DB_CONNECTION=postgresql
DB_HOST=localhost
DB_PORT=5432
DB_DATABASE=caramel
DB_USERNAME=caramel_user
DB_PASSWORD=secure-password
# Payment Processing
STRIPE_KEY=sk_live_...
STRIPE_SECRET=...
# Email
MAIL_DRIVER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=apikey
MAIL_PASSWORD=SG...
# Storage
STORAGE_DRIVER=s3
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=caramel-assets
-- Create database
CREATE DATABASE caramel;
-- Create user
CREATE USER caramel_user WITH PASSWORD 'secure-password';
-- Grant privileges
GRANT ALL PRIVILEGES ON DATABASE caramel TO caramel_user;
  • Enable SSL/TLS certificate
  • Configure firewall rules
  • Set up automated backups
  • Enable audit logging
  • Configure rate limiting
  • Set up monitoring alerts
  1. Access Admin Panel

    https://your-domain.com/admin
  2. Create Admin User

    Terminal window
    npm run create-admin
  3. Configure Payment Gateway

    • Navigate to Settings → Payments
    • Enter your API credentials
    • Test with a small transaction
  4. Set Up Email Templates

    • Go to Settings → Email
    • Customize templates for your brand
    • Send test emails

Updates are automatic with zero downtime.

Terminal window
# Pull latest image
docker pull caramel/platform:latest
# Restart containers
docker-compose down
docker-compose up -d
IssueSolution
Cannot connect to databaseCheck credentials and firewall
Email not sendingVerify SMTP settings
Payment failingCheck API keys and webhooks
Slow performanceIncrease server resources