Docs/Getting Started
Getting Started with Hygate
This guide walks you through setting up Hygate and getting your first door or device live.
Prerequisites
Before you begin, ensure you have:
- Node.js 22+ installed
- PostgreSQL 16+ database
- Stripe account (for payment processing)
- TTLock account (for smart locks, optional)
- Shelly account (for IoT devices, optional)
- Resend account (for email OTP, optional)
Step 1: Initial Setup
Complete the first-run setup wizard at /setup. This creates your administrator account and configures the basics.
You'll set:
- Your admin email and password
- Company name
- Default currency
- Default access price and duration
Step 2: Configure Integrations
Connect the services you plan to use.
Stripe (Required for Payments)
- Go to Settings → Stripe
- Enter your Publishable Key, Secret Key, and Webhook Secret
- Click Test Connection to verify
- Save your settings
Your Stripe webhook endpoint should point to:
https://your-domain/api/stripe/webhook
Webhook events required:
checkout.session.completed,payment_intent.succeeded,charge.refunded
TTLock (Optional — for Smart Locks)
- Go to Settings → TTLock
- Enter your Client ID, Client Secret, Username, and Password
- Click Test Connection to verify
- Save your settings
Shelly (Optional — for IoT Devices)
- Go to Settings → Shelly
- Enter your Auth Key and Server URL
- Click Test Connection to verify
- Save your settings
Email Provider (Optional — for 2FA)
- Go to Settings → Email
- Enter your Resend API Key
- Set your From Email address
- Click Test Connection to send a verification email
Step 3: Add Locations
Locations organize your doors and devices into physical spaces.
- Navigate to Locations
- Click Add Location
- Enter a Name (e.g., "Downtown Property")
- Enter an Address (optional)
- Save the location
You can create as many locations as needed.
Step 4: Add Doors (TTLock)
- Navigate to Doors
- Click Sync from TTLock to pull your existing locks
- Select which locks to add
- Override the name if desired
- Assign a Location
- Set the Access Price (overrides the default)
- Set the Access Duration (overrides the default)
- Save
Step 5: Add Devices (Shelly)
- Navigate to Devices
- Click Sync from Shelly to pull your existing devices
- Select which devices to add
- Override the name and description if desired
- Assign a Location
- Configure Usage Plans (price, duration, delay)
- Save
Step 6: Generate QR Codes
- Go to Doors and select a door
- Click Generate QR Code
- Customize the header, subtitle, accent color, and footer text
- Download the branded PDF
- Print and place the QR code at your entry point
Step 7: Configure Team Members
- Go to Settings → Team
- Click Invite User
- Enter the user's email address
- Assign a role: Administrator or Operator
- The user receives an invitation email
Step 8: Set Security Policies
- Go to Settings → Security
- Choose a 2FA method:
- Disabled — No two-factor authentication
- Email OTP — Code sent to your email
- Authenticator App — TOTP code from an authenticator app
- Either method — User can choose either option
- Configure session timeout and other policies
- Save
Next Steps
Now that Hygate is configured:
- Guest Access Flow — Understand how guests purchase access
- Administrator Guide — Learn all admin features
- Common Workflows — Operational procedures