Local branch had diverged from origin/master (sibling commits on the same base). Rewrote local history linearly on top of origin/master, folding in all local content: exa/hot-platform discovery hunters, leaks ledger, nightly sweep orchestrator, updated .gitignore and skill docs, plus the latest hunt output and vault state. Remote-only files (vault keys, channel scripts) were restored rather than dropped, so the resulting tree is a full union of both sides.
1 line
5.5 KiB
JSON
1 line
5.5 KiB
JSON
{"repo": "asaniann/megaconnect-master", "files": {"docker-compose.prod.yml": {"55c524acb914b77ecc20aa002efc14d47e730aff": {"t": 1786068002.0264537, "n": 5293, "h": "68e425246b114c3a", "c": "services:\n db:\n image: postgres:15-alpine\n # Use fixed container name so both production and beta can share the same database\n container_name: asanian-db-shared\n restart: unless-stopped\n environment:\n POSTGRES_USER: ${POSTGRES_USER}\n POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}\n POSTGRES_DB: ${POSTGRES_DB:-asanian}\n volumes:\n - postgres_data:/var/lib/postgresql/data\n # Expose port 5433 on host for local development (avoids conflict with local PostgreSQL on 5432)\n # Production containers still use internal port 5432 via Docker network\n ports:\n - \"5433:5432\"\n healthcheck:\n test: [\"CMD-SHELL\", \"pg_isready -U ${POSTGRES_USER}\"]\n interval: 5s\n timeout: 5s\n retries: 5\n networks:\n - asanian-network\n\n redis:\n image: redis:7-alpine\n container_name: asanian-redis-shared\n restart: unless-stopped\n command: redis-server --appendonly yes\n volumes:\n - redis_data:/data\n healthcheck:\n test: [\"CMD\", \"redis-cli\", \"ping\"]\n interval: 5s\n timeout: 3s\n retries: 5\n networks:\n - asanian-network\n\n app:\n build:\n context: .\n dockerfile: Dockerfile\n image: asanian-app:latest\n # Use a stable container name per environment so shared nginx can route reliably.\n # deploy.sh exports APP_CONTAINER_NAME=\"asanian-${ENV}-app\"\n container_name: ${APP_CONTAINER_NAME:-asanian-production-app}\n restart: unless-stopped\n environment:\n NODE_ENV: production\n PORT: 5000\n # CRITICAL: Always use 'db:5432' for containers (Docker service name)\n # Do NOT use DATABASE_URL from .env as it may be 'localhost:5433' for local dev\n # Inside Docker, 'localhost' refers to the container itself, not the host\n DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB:-asanian}\n BASE_URL: ${BASE_URL:-https://asanian.com}\n DOMAIN: ${DOMAIN:-asanian.com}\n USE_HTTPS: \"false\"\n SESSION_SECRET: ${SESSION_SECRET}\n DEEPSEEK_API_KEY: ${DEEPSEEK_API_KEY}\n STRIPE_SECRET_KEY: ${STRIPE_SECRET_KEY}\n STRIPE_PUBLISHABLE_KEY: ${STRIPE_PUBLISHABLE_KEY}\n GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID}\n GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET}\n GOOGLE_CALLBACK_URL: ${GOOGLE_CALLBACK_URL:-${BASE_URL:-https://asanian.com}/api/auth/google/callback}\n # Redis Configuration\n REDIS_URL: ${REDIS_URL:-redis://redis:6379}\n # Email Configuration (SMTP for asanian.com)\n FROM_EMAIL: ${FROM_EMAIL:-info@asanian.com}\n FROM_NAME: ${FROM_NAME:-ASANIAN}\n SMTP_HOST: ${SMTP_HOST:-smtp.asanian.com}\n SMTP_PORT: ${SMTP_PORT:-587}\n SMTP_SECURE: ${SMTP_SECURE:-false}\n SMTP_USER: ${SMTP_USER:-info@asanian.com}\n SMTP_PASSWORD: ${SMTP_PASSWORD}\n # Email Alternative: SendGrid (if SMTP not configured)\n SENDGRID_API_KEY: ${SENDGRID_API_KEY:-}\n # Disabled OAuth providers (uncomment and add credentials to enable)\n # FACEBOOK_APP_ID: ${FACEBOOK_APP_ID}\n # FACEBOOK_APP_SECRET: ${FACEBOOK_APP_SECRET}\n # TWITTER_CONSUMER_KEY: ${TWITTER_CONSUMER_KEY}\n # TWITTER_CONSUMER_SECRET: ${TWITTER_CONSUMER_SECRET}\n # LINKEDIN_CLIENT_ID: ${LINKEDIN_CLIENT_ID}\n # LINKEDIN_CLIENT_SECRET: ${LINKEDIN_CLIENT_SECRET}\n depends_on:\n db:\n condition: service_healthy\n redis:\n condition: service_healthy\n networks:\n - asanian-network\n command: >\n sh -c \"\n echo 'Waiting for database to be ready...' &&\n sleep 5 &&\n echo 'Running database migrations...' &&\n npm run db:push &&\n echo 'Starting application...' &&\n npm start\n \"\n\n nginx:\n build:\n context: ./nginx\n dockerfile: Dockerfile\n image: asanian-nginx:latest\n # Nginx is shared - only production manages it\n container_name: asanian-nginx-shared\n restart: unless-stopped\n ports:\n - \"80:80\"\n - \"443:443\"\n - \"1935:1935\" # RTMP port\n volumes:\n - ./nginx/conf.d:/etc/nginx/conf.d:ro\n - ./nginx/logs:/var/log/nginx\n - /etc/letsencrypt:/etc/letsencrypt:ro # Mount existing Let's Encrypt certificates from host\n - certbot_www:/var/www/certbot\n - hls_data:/var/www/html/hls\n - dash_data:/var/www/html/dash\n - vod_data:/var/www/html/vod\n depends_on:\n app:\n condition: service_started\n networks:\n - asanian-network\n # Allow nginx to start even if app is not ready (for initial setup)\n healthcheck:\n test: [\"CMD\", \"nginx\", \"-t\"]\n interval: 30s\n timeout: 10s\n retries: 3\n start_period: 10s\n\n certbot:\n image: certbot/certbot\n # Certbot is shared - only production manages it\n container_name: asanian-certbot-shared\n restart: unless-stopped\n volumes:\n - certbot_data:/etc/letsencrypt\n - certbot_www:/var/www/certbot\n entrypoint: \"/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'\"\n networks:\n - asanian-network\n\nnetworks:\n asanian-network:\n # Shared external network so production/beta/dev containers can communicate\n name: asanian-network-shared\n external: true\n\nvolumes:\n postgres_data:\n redis_data:\n certbot_data:\n certbot_www:\n hls_data:\n dash_data:\n vod_data:\n\n"}}}} |