Files
cannaiq/docker-compose.local.yml
Kelly 3bc0effa33 feat: Responsive admin UI, SEO pages, and click analytics
## Responsive Admin UI
- Layout.tsx: Mobile sidebar drawer with hamburger menu
- Dashboard.tsx: 2-col grid on mobile, responsive stats cards
- OrchestratorDashboard.tsx: Responsive table with hidden columns
- PagesTab.tsx: Responsive filters and table

## SEO Pages
- New /admin/seo section with state landing pages
- SEO page generation and management
- State page content with dispensary/product counts

## Click Analytics
- Product click tracking infrastructure
- Click analytics dashboard

## Other Changes
- Consumer features scaffolding (alerts, deals, favorites)
- Health panel component
- Workers dashboard improvements
- Legacy DutchieAZ pages removed

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 22:48:21 -07:00

91 lines
2.3 KiB
YAML

# Local Development Stack - NO MinIO
#
# Usage:
# docker-compose -f docker-compose.local.yml up
#
# Or use the convenience script:
# ./start-local.sh
#
# This runs:
# - PostgreSQL database
# - Redis (job queues, caching, rate limiting)
# - Backend API server
# - Local filesystem storage (./storage)
#
# NO MinIO, NO remote connections, NO Kubernetes
services:
postgres:
image: postgres:15-alpine
container_name: cannaiq-postgres
environment:
POSTGRES_DB: dutchie_legacy
POSTGRES_USER: dutchie
POSTGRES_PASSWORD: dutchie_local_pass
ports:
- "54320:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U dutchie"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
container_name: cannaiq-redis
ports:
- "6379:6379"
volumes:
- redis_data:/data
command: redis-server --appendonly yes --maxmemory 256mb --maxmemory-policy allkeys-lru
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
backend:
build:
context: ./backend
dockerfile: Dockerfile.dev
container_name: cannaiq-backend
environment:
NODE_ENV: development
PORT: 3000
# CannaiQ database connection - individual env vars
# These match what postgres service uses (POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD)
CANNAIQ_DB_HOST: postgres
CANNAIQ_DB_PORT: "5432"
CANNAIQ_DB_NAME: dutchie_legacy
CANNAIQ_DB_USER: dutchie
CANNAIQ_DB_PASS: dutchie_local_pass
# Local storage - NO MinIO
STORAGE_DRIVER: local
STORAGE_BASE_PATH: /app/storage
STORAGE_PUBLIC_URL: /storage
# No MinIO env vars - forces local storage
# MINIO_ENDPOINT is intentionally NOT set
JWT_SECRET: local_dev_jwt_secret_change_in_production
ADMIN_EMAIL: admin@example.com
ADMIN_PASSWORD: password
# Redis connection
REDIS_URL: redis://redis:6379
ports:
- "3010:3000"
volumes:
- ./backend:/app
- /app/node_modules
- ./storage:/app/storage
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
command: npm run dev
volumes:
postgres_data:
redis_data: