Replace all ~1,086 occurrences of Wizamart/wizamart/WIZAMART/WizaMart with Orion/orion/ORION across 184 files. This includes database identifiers, email addresses, domain references, R2 bucket names, DNS prefixes, encryption salt, Celery app name, config defaults, Docker configs, CI configs, documentation, seed data, and templates. Renames homepage-wizamart.html template to homepage-orion.html. Fixes duplicate file_pattern key in api.yaml architecture rule. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
120 lines
3.2 KiB
YAML
120 lines
3.2 KiB
YAML
# docker-compose.yml
|
|
services:
|
|
db:
|
|
image: postgres:15
|
|
restart: always
|
|
environment:
|
|
POSTGRES_DB: orion_db
|
|
POSTGRES_USER: orion_user
|
|
POSTGRES_PASSWORD: secure_password
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
|
|
ports:
|
|
- "5432:5432"
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U orion_user -d orion_db"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
restart: always
|
|
ports:
|
|
- "6380:6379" # Use 6380 to avoid conflict with host Redis
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
api:
|
|
build: .
|
|
restart: always
|
|
profiles:
|
|
- full # Only start with: docker compose --profile full up -d
|
|
ports:
|
|
- "8001:8000" # Use 8001 to avoid conflict with local dev server
|
|
environment:
|
|
DATABASE_URL: postgresql://orion_user:secure_password@db:5432/orion_db
|
|
JWT_SECRET_KEY: ${JWT_SECRET_KEY:-your-super-secret-key}
|
|
REDIS_URL: redis://redis:6379/0
|
|
USE_CELERY: "true"
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
volumes:
|
|
- ./logs:/app/logs
|
|
- ./uploads:/app/uploads
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
# Celery worker for processing background tasks
|
|
celery-worker:
|
|
build: .
|
|
restart: always
|
|
profiles:
|
|
- full # Only start with: docker compose --profile full up -d
|
|
command: celery -A app.core.celery_config worker --loglevel=info -Q default,long_running,scheduled
|
|
environment:
|
|
DATABASE_URL: postgresql://orion_user:secure_password@db:5432/orion_db
|
|
REDIS_URL: redis://redis:6379/0
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
volumes:
|
|
- ./logs:/app/logs
|
|
- ./exports:/app/exports
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "celery -A app.core.celery_config inspect ping --timeout 10 || exit 1"]
|
|
interval: 30s
|
|
timeout: 15s
|
|
retries: 3
|
|
|
|
# Celery beat for scheduled tasks
|
|
celery-beat:
|
|
build: .
|
|
restart: always
|
|
profiles:
|
|
- full # Only start with: docker compose --profile full up -d
|
|
command: celery -A app.core.celery_config beat --loglevel=info
|
|
environment:
|
|
REDIS_URL: redis://redis:6379/0
|
|
depends_on:
|
|
redis:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
disable: true
|
|
|
|
# Flower monitoring dashboard
|
|
flower:
|
|
build: .
|
|
restart: always
|
|
profiles:
|
|
- full # Only start with: docker compose --profile full up -d
|
|
command: celery -A app.core.celery_config flower --port=5555
|
|
ports:
|
|
- "5555:5555"
|
|
environment:
|
|
REDIS_URL: redis://redis:6379/0
|
|
FLOWER_BASIC_AUTH: ${FLOWER_USER:-admin}:${FLOWER_PASSWORD:-changeme}
|
|
depends_on:
|
|
redis:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "curl -f http://localhost:5555/ || exit 1"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
volumes:
|
|
postgres_data:
|