🔬 Playtopia Dev Lab - Infrastructure Guide

Overview

Playtopia Dev Lab is a comprehensive containerized development environment that enables rapid deployment of web services with enterprise-grade security, automatic SSL, and authentication. This guide covers accessing and using the development infrastructure.


🚀 Getting Started

Accessing Dev Lab Services

Public Services (No Authentication Required)

Protected Services (Authentication Required)

Authentication System

Authelia Access Control

Playtopia Dev Lab uses Authelia for enterprise-grade authentication with three access levels:

Login Process

  1. Navigate to any protected service
  2. You’ll be redirected to the Authelia login portal at auth.playtopia.com.au
  3. Enter your credentials
  4. After successful authentication, you’ll be redirected to the requested service
  5. Sessions last 1 hour with 5-minute inactivity timeout

💻 Development Environment

VS Code Server

Accessing the IDE

Key Features

Getting Started with VS Code Server

  1. Navigate to the development environment URL
  2. Authenticate using your Authelia credentials
  3. Open Folder: Use File → Open Folder to access project directories
  4. Install Extensions: Add language support and tools as needed
  5. Use Terminal: Access integrated terminal for command-line operations

Project Structure

/home/thrax/unified-services/
├── match-n-gacha/           # Puzzle game project
├── elemedals/               # Elemental match-3 game
├── rhythm-game/             # Anime rhythm game
├── regression-tester-pro/   # Testing management platform
├── monthly-service-review/  # MSR Generator application
├── data/hugo/              # Website and documentation
├── config/                 # Infrastructure configuration
└── docker-compose.yml      # Service orchestration

File System Access

Project Directories

Development Workflow

  1. Edit Code: Use VS Code Server for file editing
  2. Test Changes: Use integrated terminal for testing
  3. Version Control: Commit changes using Git commands
  4. Deploy Services: Use Docker commands to rebuild and deploy
  5. Monitor Services: Check logs and status via Portainer

🐳 Container Management

Portainer Dashboard

Accessing Container Management

Key Capabilities

Common Container Operations

  1. View Container Logs:

  2. Restart Services:

  3. Resource Monitoring:

Docker Compose Operations

Service Management Commands

For direct command-line management via VS Code Server terminal:

# Navigate to project root
cd /home/thrax/unified-services

# View all service status
docker compose ps

# Start all services
docker compose up -d

# Start specific service
docker compose up -d service-name

# Rebuild and start service
docker compose build service-name --no-cache
docker compose up -d service-name

# View service logs
docker compose logs -f service-name

# Restart service
docker compose restart service-name

# Stop service
docker compose down service-name

# Remove service and volumes
docker compose down service-name --volumes

Building and Deploying New Services

  1. Create Service Directory: mkdir new-service && cd new-service
  2. Add Service Files: Create Dockerfile, configuration files, and assets
  3. Update docker-compose.yml: Add service definition with Traefik labels
  4. Build Service: docker compose build new-service --no-cache
  5. Deploy Service: docker compose up -d new-service
  6. Test Access: Verify service is accessible at configured subdomain

🔧 Infrastructure Monitoring

Traefik Dashboard

Accessing Infrastructure Monitoring

Monitoring Capabilities

Key Metrics to Monitor

SSL Certificate Management

Automatic Certificate Renewal

Certificate Status Verification

  1. Check Traefik Dashboard: View certificate status for all domains
  2. Monitor Logs: docker compose logs traefik | grep acme
  3. Verify Browser: Check browser security indicators for HTTPS
  4. Test SSL: Use external SSL testing tools for validation

🎮 Service-Specific Guides

Game Development Services

Game Deployment Pattern

Games follow a standardized deployment pattern:

Game Development Workflow

  1. Local Development: Edit game files in VS Code Server
  2. Asset Preparation: Optimize images, audio, and code
  3. Container Build: Rebuild game container with new assets
  4. Deploy Service: Deploy updated container to production
  5. Test Gameplay: Verify functionality across devices

Business Application Services

Full-Stack Application Pattern

Business applications use multi-container architecture:

Development and Deployment

  1. Code Development: Edit frontend/backend code in VS Code Server
  2. Database Management: Use database administration tools
  3. API Testing: Test backend endpoints and functionality
  4. Integration Testing: Verify frontend-backend communication
  5. Production Deployment: Deploy all services with dependencies

🔐 Security and Best Practices

Access Control

Role-Based Access

Security Features

Data Protection

Backup Strategy

Security Monitoring


🛠️ Troubleshooting

Common Issues

Authentication Problems

Service Unavailability

SSL Certificate Issues

Performance Issues

Getting Help

Self-Service Resources

Administrator Support


📚 Advanced Usage

Custom Service Deployment

Service Template

New services should follow the established patterns:

new-service:
  build: ./new-service
  container_name: new-service
  restart: unless-stopped
  networks:
    - services-network
  labels:
    - traefik.enable=true
    - traefik.http.routers.newservice.rule=Host(`newservice.playtopia.com.au`)
    - traefik.http.routers.newservice.entrypoints=websecure
    - traefik.http.routers.newservice.tls.certresolver=letsencrypt
    - traefik.http.services.newservice.loadbalancer.server.port=80

Development Patterns

Integration Opportunities

CI/CD Integration

External Service Integration


Playtopia Dev Lab provides a complete, enterprise-grade development environment that combines ease of use with powerful infrastructure capabilities. This guide covers the essential aspects of using the platform effectively for both development and operations.