Cloud Hosted
Recommended - We handle everything for you
- No installation required
- Automatic updates
- 99.9% uptime SLA
- Full support included
Learn how to install and configure Caramel for your restaurant’s gift card and loyalty programs.
Before installing Caramel, ensure you have:
Cloud Hosted
Recommended - We handle everything for you
Self-Hosted
Host on your own infrastructure
Sign Up
Create your account at joincaramel.com/signup
Verify Email
Check your inbox and click the verification link
Complete Onboarding
Follow the setup wizard to configure:
Go Live
Your gift card platform is ready to use!
# Pull the Caramel imagedocker pull caramel/platform:latest
# Create configurationcp .env.example .env
# Edit configurationnano .env
# Run with Docker Composedocker-compose up -d
# Access at http://localhost:3000# Clone repositorygit clone https://github.com/caramel/platformcd platform
# Install dependenciesnpm install
# Configure environmentcp .env.example .envnano .env
# Run database migrationsnpm run migrate
# Build applicationnpm run build
# Start servernpm run startapiVersion: apps/v1kind: Deploymentmetadata: name: caramelspec: replicas: 3 selector: matchLabels: app: caramel template: metadata: labels: app: caramel spec: containers: - name: caramel image: caramel/platform:latest ports: - containerPort: 3000kubectl apply -f caramel-deployment.yamlCreate a .env file with your configuration:
# ApplicationAPP_URL=https://your-domain.comAPP_ENV=productionAPP_KEY=generate-secure-key
# DatabaseDB_CONNECTION=postgresqlDB_HOST=localhostDB_PORT=5432DB_DATABASE=caramelDB_USERNAME=caramel_userDB_PASSWORD=secure-password
# Payment ProcessingSTRIPE_KEY=sk_live_...STRIPE_SECRET=...
# EmailMAIL_DRIVER=smtpMAIL_HOST=smtp.sendgrid.netMAIL_PORT=587MAIL_USERNAME=apikeyMAIL_PASSWORD=SG...
# StorageSTORAGE_DRIVER=s3AWS_ACCESS_KEY_ID=...AWS_SECRET_ACCESS_KEY=...AWS_DEFAULT_REGION=us-east-1AWS_BUCKET=caramel-assets-- Create databaseCREATE DATABASE caramel;
-- Create userCREATE USER caramel_user WITH PASSWORD 'secure-password';
-- Grant privilegesGRANT ALL PRIVILEGES ON DATABASE caramel TO caramel_user;-- Create databaseCREATE DATABASE caramel CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- Create userCREATE USER 'caramel_user'@'localhost' IDENTIFIED BY 'secure-password';
-- Grant privilegesGRANT ALL PRIVILEGES ON caramel.* TO 'caramel_user'@'localhost';FLUSH PRIVILEGES;Access Admin Panel
https://your-domain.com/adminCreate Admin User
npm run create-adminConfigure Payment Gateway
Set Up Email Templates
TheFork
TripAdvisor
Lightspeed POS
Custom Integration
Updates are automatic with zero downtime.
# Pull latest imagedocker pull caramel/platform:latest
# Restart containersdocker-compose downdocker-compose up -d# Backup databasenpm run backup
# Pull latest codegit pull origin main
# Install dependenciesnpm install
# Run migrationsnpm run migrate
# Rebuildnpm run build
# Restartnpm run restart| Issue | Solution |
|---|---|
| Cannot connect to database | Check credentials and firewall |
| Email not sending | Verify SMTP settings |
| Payment failing | Check API keys and webhooks |
| Slow performance | Increase server resources |
First Campaign
Launch your first gift card campaign
Team Setup
Add team members and set permissions
Customize Design
Brand your gift cards and emails
API Integration
Connect your existing systems