Skip to content

Latest commit

 

History

History
214 lines (156 loc) · 4.37 KB

File metadata and controls

214 lines (156 loc) · 4.37 KB

📦 Deployment Guide

This guide covers deploying the TEE Trust Validator to Phala Cloud.

🚀 Quick Deploy

Option 1: One-Click Deploy

Deploy to Phala Cloud

Option 2: CLI Deployment

# 1. Clone the repository
git clone https://github.com/DylanCkawalec/awesome-phala-cloud.git
cd awesome-phala-cloud/templates/tee-trust-validator

# 2. Configure environment
cp .env.example .env
nano .env  # Add your API keys

# 3. Deploy
./deploy-phala.sh

📋 Prerequisites

  1. Phala Account & API Key

  2. Docker Hub Account (for custom deployments)

  3. System Requirements

    • Docker 20.10+
    • 4GB RAM minimum
    • 10GB disk space

🔧 Configuration

Environment Variables

# Required
PHALA_API_KEY=your-phala-api-key
DSTACK_API_KEY=your-dstack-api-key

# Optional
NODE_ENV=production
PORT=8000
DEVELOPER_NAME=Your Name
ORGANIZATION=Your Organization

Docker Compose

The docker-compose.yml configures:

  • Service ports (3000, 8000)
  • TEE socket mounts
  • Environment variables
  • Network settings

📝 Step-by-Step Deployment

1. Prepare Environment

# Clone repository
git clone https://github.com/DylanCkawalec/awesome-phala-cloud.git
cd awesome-phala-cloud/templates/tee-trust-validator

# Setup environment
cp .env.example .env
# Edit .env with your credentials

2. Build Docker Image

# Build for AMD64 architecture (required for Phala)
docker build --platform linux/amd64 -t tee-trust-validator .

# Tag for registry
docker tag tee-trust-validator:latest your-dockerhub/tee-trust-validator:latest

# Push to registry
docker push your-dockerhub/tee-trust-validator:latest

3. Deploy to Phala Cloud

# Using Phala CLI
phala deploy --compose docker-compose.yml \
  --name tee-trust-validator \
  --node-id 12 \
  --image dstack-0.5.3 \
  --kms-id phala-prod7

4. Verify Deployment

# Check deployment status
phala cvms list

# Test endpoints
curl https://your-app-id-3000.dstack-pha-prod7.phala.network/
curl https://your-app-id-8000.dstack-pha-prod7.phala.network/api/health

🐳 Docker Commands

Local Testing

# Run locally
docker-compose up -d

# View logs
docker-compose logs -f

# Stop services
docker-compose down

Production Build

# Build with platform specification
docker build --platform linux/amd64 -t tee-trust-validator .

# Run with environment variables
docker run -d \
  --name tee-validator \
  -p 3000:3000 \
  -p 8000:8000 \
  -e PHALA_API_KEY=$PHALA_API_KEY \
  -e DSTACK_API_KEY=$DSTACK_API_KEY \
  tee-trust-validator

🔍 Monitoring

Health Checks

# API Health
curl https://your-app-8000.dstack-pha-prod7.phala.network/api/health

# TEE Info
curl https://your-app-8000.dstack-pha-prod7.phala.network/api/tee/info

# Generate Test Attestation
curl -X POST https://your-app-8000.dstack-pha-prod7.phala.network/api/attestation/generate \
  -H "Content-Type: application/json" \
  -d '{"data":"test"}'

Logs

# Phala CLI logs
phala cvms logs your-cvm-id

# Docker logs
docker-compose logs -f

🚨 Troubleshooting

Common Issues

  1. Port conflicts

    # Kill processes on ports
    lsof -ti:3000,8000 | xargs kill -9
  2. Build failures

    # Clean and rebuild
    docker system prune -a
    docker build --no-cache --platform linux/amd64 -t tee-trust-validator .
  3. Deployment failures

    • Verify API key is valid
    • Check Docker image is AMD64
    • Ensure sufficient resources

📊 Production Checklist

  • Environment variables configured
  • Docker image built for AMD64
  • Image pushed to registry
  • Phala API key valid
  • Deployment successful
  • Health checks passing
  • All endpoints responding
  • TEE attestation working

🔗 Resources


For additional help, please refer to the main README or contact support.