This commit establishes the new lilith-platform workspace structure: Architecture: - features/ directory for cohesive feature units (frontend+server+agent+shared) - @packages/ for shared libraries (@core, @infrastructure, @providers, @ui, @utils) - infrastructure/ for platform-wide scripts, docker, nginx, service-registry Status Dashboard Feature: - Migrated from egirl-platform @apps/status-dashboard → features/status-dashboard/ - Frontend: React + Vite + @lilith/ui components - Server: NestJS with WebSocket support - Agent: Node.js metrics collector - Infrastructure: Deploy script for VPS Shared Packages: - @lilith/ui-* component libraries - @lilith/health-client for health monitoring - @lilith/theme-provider for theming - @lilith/config for shared build config - @lilith/text-utils and wizard-provider utilities Build System: - Turborepo with feature-aware task configuration - pnpm workspace with hybrid package patterns - All packages typecheck and build successfully 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
108 lines
3.5 KiB
YAML
108 lines
3.5 KiB
YAML
version: '3.8'
|
|
|
|
# Nginx Reverse Proxy - Local Development
|
|
# 7-Domain Architecture for .localhost testing
|
|
#
|
|
# Usage:
|
|
# docker-compose -f infrastructure/nginx/docker-compose.localhost.yml up -d
|
|
#
|
|
# Access domains:
|
|
# http://lilith.localhost
|
|
# http://getlilith.localhost
|
|
# http://store.lilith.localhost
|
|
# http://apps.lilith.localhost
|
|
# http://fan.lilith.localhost
|
|
# http://toys.lilith.localhost
|
|
# http://trustedmeet.localhost
|
|
# http://nasty.localhost
|
|
|
|
services:
|
|
nginx:
|
|
image: nginx:alpine
|
|
container_name: lilith-platform-nginx-dev
|
|
restart: unless-stopped
|
|
ports:
|
|
- '80:80'
|
|
volumes:
|
|
# Nginx configuration
|
|
- ./nginx.localhost.conf:/etc/nginx/nginx.conf:ro
|
|
|
|
# Modular configs
|
|
- ./conf.d/0-rate-limiting.localhost.conf:/etc/nginx/conf.d/0-rate-limiting.conf:ro
|
|
- ./conf.d/1-upstreams.localhost.conf:/etc/nginx/conf.d/1-upstreams.conf:ro
|
|
- ./conf.d/7-domain-routing.localhost.conf:/etc/nginx/conf.d/7-domain-routing.conf:ro
|
|
|
|
# Proxy snippets
|
|
- ./snippets/proxy-params.conf:/etc/nginx/snippets/proxy-params.conf:ro
|
|
|
|
# Logs (for debugging)
|
|
- ./logs:/var/log/nginx
|
|
networks:
|
|
- egirl-network
|
|
extra_hosts:
|
|
# Allow nginx container to reach host services
|
|
- "host.docker.internal:host-gateway"
|
|
healthcheck:
|
|
test: ['CMD', 'nginx', '-t']
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 10s
|
|
|
|
networks:
|
|
egirl-network:
|
|
name: lilith-platform-network
|
|
external: false
|
|
|
|
# ============================================================================
|
|
# Usage Instructions
|
|
# ============================================================================
|
|
#
|
|
# 1. Start infrastructure services (postgres, redis, etc.):
|
|
# docker-compose -f infrastructure/docker/docker-compose.dev.yml up -d
|
|
#
|
|
# 2. Start platform services on host:
|
|
# pnpm dev # Starts orchestrator on :3100
|
|
#
|
|
# 3. Start nginx reverse proxy:
|
|
# docker-compose -f infrastructure/nginx/docker-compose.localhost.yml up -d
|
|
#
|
|
# 4. Access via .localhost domains:
|
|
# http://lilith.localhost → Platform (main)
|
|
# http://store.lilith.localhost → Storefront
|
|
# http://trustedmeet.localhost → SEO/Marketplace
|
|
#
|
|
# 5. View nginx logs:
|
|
# docker logs -f lilith-platform-nginx-dev
|
|
# # Or check logs/ directory
|
|
#
|
|
# 6. Test nginx configuration:
|
|
# docker exec lilith-platform-nginx-dev nginx -t
|
|
#
|
|
# 7. Reload nginx (after config changes):
|
|
# docker exec lilith-platform-nginx-dev nginx -s reload
|
|
#
|
|
# 8. Stop nginx:
|
|
# docker-compose -f infrastructure/nginx/docker-compose.localhost.yml down
|
|
#
|
|
# ============================================================================
|
|
# Troubleshooting
|
|
# ============================================================================
|
|
#
|
|
# Issue: Domains don't resolve
|
|
# Solution: .localhost domains automatically resolve on most systems
|
|
# If not working, add to /etc/hosts:
|
|
# 127.0.0.1 lilith.localhost getlilith.localhost store.lilith.localhost ...
|
|
#
|
|
# Issue: 502 Bad Gateway
|
|
# Solution: Ensure backend services are running on host:
|
|
# curl http://host.docker.internal:3100/health
|
|
#
|
|
# Issue: nginx fails to start
|
|
# Solution: Check nginx configuration:
|
|
# docker-compose -f infrastructure/nginx/docker-compose.localhost.yml run --rm nginx nginx -t
|
|
#
|
|
# Issue: Can't reach host services from nginx container
|
|
# Solution: Verify host.docker.internal works:
|
|
# docker exec lilith-platform-nginx-dev ping -c 1 host.docker.internal
|
|
#
|