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.
Web Application
http://localhost:5173API Documentation
http://localhost:3000/api
Default Credentials:
Email:
Password:
Change these immediately after first login!
Email:
[email protected]Password:
admin123Change 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