Files
Goa-gel-fullstack/Documentation/operations/installation.md
Mahi 435889ee79 docs: Rebuild documentation as enterprise-grade TLAS platform
- Migrate from custom HTTP server to VitePress framework
- Rename project to Tokenized License Approval System (TLAS)
- Add comprehensive documentation for all stakeholders:
  - Business: Executive summary, value proposition, governance
  - Operations: Infrastructure, installation, monitoring, backup
  - Departments: User guide, workflows, verification, issuance
  - Developers: API reference, authentication, webhooks, SDKs
  - Compliance: OWASP, DPDP Act, IT Act, audit framework
- Add modern theme with dark mode and full-text search
- Update Dockerfile for VitePress build process

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-10 00:05:20 -04:00

1.9 KiB

Installation Guide

Prerequisites

  • Docker 24.x or later
  • Docker Compose 2.x or later
  • Domain name with DNS configured
  • SSL certificate (or use Let's Encrypt)

Step 1: Server Preparation

# Update system packages
sudo apt update && sudo apt upgrade -y

# Install Docker
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER

# Install Docker Compose
sudo apt install docker-compose-plugin

Step 2: Clone and Configure

# Clone repository
git clone https://github.com/goa-gel/tlas.git
cd tlas

# Copy environment template
cp .env.example .env

Edit .env with required values:

# Database
DB_HOST=postgres
DB_PORT=5432
DB_USER=tlas
DB_PASSWORD=<secure-password>
DB_NAME=tlas

# JWT
JWT_SECRET=<64-character-random-string>

# Blockchain
BESU_RPC_URL=http://besu:8545
CONTRACT_ADDRESS=<deployed-contract-address>

# External Services
DIGILOCKER_CLIENT_ID=<your-client-id>
DIGILOCKER_CLIENT_SECRET=<your-secret>

Step 3: Initialize Database

# Start database only
docker-compose up -d postgres

# Run migrations
docker-compose exec api npm run migration:run

# Seed initial data
docker-compose exec api npm run seed

Step 4: Deploy Blockchain

# Start Besu node
docker-compose up -d besu

# Wait for node sync
docker-compose logs -f besu

# Deploy smart contract
docker-compose exec api npm run deploy:contract

Step 5: Start Application

# Start all services
docker-compose up -d

# Verify health
docker-compose ps
curl http://localhost:3000/api/health

Step 6: Configure SSL

# Using Certbot with Nginx
sudo certbot --nginx -d your-domain.gov.in

Verification Checklist

  • All containers running (docker-compose ps)
  • API health check returns 200
  • Frontend loads in browser
  • Database connections working
  • Blockchain node synced
  • SSL certificate valid