Quick Start Guide

Get Glide HIMS running in under 5 minutes

Prerequisites
Required Software
  • Docker 20.10+ & Docker Compose
  • Node.js 18+ (for development)
  • pnpm 8+ (package manager)
  • Git
System Requirements
  • 4+ CPU cores
  • 8GB+ RAM
  • 50GB+ storage
  • Internet connection
1
Clone the Repository

Get the latest source code from the repository.

# Clone the repository
git clone https://github.com/itsolutionsuganda/glide-hims.git
cd glide-hims

# Check out the latest stable release
git checkout v1.0.0
2
Configure Environment Variables

Set up your environment configuration.

# Copy the example environment file
cp .env.example .env

# Edit the configuration
nano .env
Essential Variables:
# Database Configuration
DB_HOST=localhost
DB_PORT=5432
DB_NAME=glide_hims
DB_USER=glide_admin
DB_PASSWORD=your_secure_password

# JWT Secret (generate a strong random string)
JWT_SECRET=your-256-bit-secret-key-here

# License Key (obtain from IT Solutions Uganda)
LICENSE_KEY=XXXX-XXXX-XXXX-XXXX

# Phone Home URL (for on-premise)
PHONE_HOME_URL=https://hmisdemo.itsolutionsuganda.com

# Deployment Mode: cloud | on-premise | development
DEPLOYMENT_MODE=development
3
Start with Docker Compose

Launch the complete stack with a single command.

# Start all services
docker-compose up -d

# View logs
docker-compose logs -f

# Check service status
docker-compose ps
Tip: First startup may take 2-3 minutes as Docker downloads images and initializes the database.
4
Verify the Installation

Ensure all services are running correctly.

# Check API health
curl http://localhost:3000/api/v1/health

# Expected response:
# {"status":"ok","info":{"database":{"status":"up"}}}

# Check for updates
curl http://localhost:3000/api/v1/updates/check?version=0.0.0

# Validate license (if you have one)
curl -X POST http://localhost:3000/api/v1/license/validate \
  -H "Content-Type: application/json" \
  -d '{"licenseKey":"YOUR-LICENSE-KEY"}'
5
Access the Application

Open your browser and start using Glide HIMS.

Default Credentials:
Email: [email protected]
Password: admin123
Change these immediately after first login!
Development Mode (Without Docker)

For active development, run services individually:

# Install dependencies
pnpm install

# Start PostgreSQL (ensure it's running)
# Option 1: Use Docker for just the database
docker run -d --name postgres \
  -e POSTGRES_DB=glide_hims \
  -e POSTGRES_USER=glide_admin \
  -e POSTGRES_PASSWORD=your_password \
  -p 5432:5432 postgres:15

# Run database migrations
cd packages/backend
pnpm run migration:run

# Start backend (in one terminal)
pnpm run start:dev

# Start frontend (in another terminal)
cd packages/frontend
pnpm run dev
Docker Compose Reference
# docker-compose.yml
version: '3.8'

services:
  postgres:
    image: postgres:15-alpine
    environment:
      POSTGRES_DB: glide_hims
      POSTGRES_USER: glide_admin
      POSTGRES_PASSWORD: ${DB_PASSWORD}
    volumes:
      - postgres_data:/var/lib/postgresql/data
    ports:
      - "5432:5432"
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U glide_admin"]
      interval: 10s
      timeout: 5s
      retries: 5

  redis:
    image: redis:7-alpine
    ports:
      - "6379:6379"
    volumes:
      - redis_data:/data

  backend:
    build:
      context: .
      dockerfile: packages/backend/Dockerfile
    environment:
      - DB_HOST=postgres
      - REDIS_HOST=redis
      - LICENSE_KEY=${LICENSE_KEY}
      - PHONE_HOME_URL=${PHONE_HOME_URL}
    ports:
      - "3000:3000"
    depends_on:
      postgres:
        condition: service_healthy
      redis:
        condition: service_started

  frontend:
    build:
      context: .
      dockerfile: packages/frontend/Dockerfile
    ports:
      - "5173:80"
    depends_on:
      - backend

volumes:
  postgres_data:
  redis_data:
Next Steps
Activate License

Set up your enterprise license for full functionality.

Learn More →
Configure Security

Set up SSL, authentication, and access controls.

Learn More →
Production Setup

Deploy to production with full redundancy.

Learn More →