- 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>
1.9 KiB
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