# Complete Nginx Configuration Example # สำหรับ Nginx Proxy Manager - Custom Nginx Configuration # # วิธีใช้: # 1. ไปที่ Nginx Proxy Manager UI (http://your-server:8021) # 2. สร้าง Proxy Host ใหม่ # 3. กรอก Domain Names: ai.sriphat.com (หรือ domain ของคุณ) # 4. กรอก Forward Hostname/IP: localhost (dummy, จะใช้ config ด้านล่าง) # 5. กรอก Forward Port: 80 (dummy) # 6. ไปที่ tab "Advanced" # 7. Copy config ด้านล่างนี้ทั้งหมดไปวางใน "Custom Nginx Configuration" # 8. กด Save # ============================================================================ # API Service - FastAPI with Keycloak # ============================================================================ location /apiservice { rewrite ^/apiservice(/.*)$ $1 break; proxy_pass http://apiservice:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Script-Name /apiservice; proxy_cookie_path / /apiservice/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_buffering off; } # ============================================================================ # Supabase Studio - Database Management UI # ============================================================================ location /supabase { rewrite ^/supabase(/.*)$ $1 break; proxy_pass http://sdp-studio:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_buffering off; } # ============================================================================ # Supabase Kong API - REST API Gateway # ============================================================================ location /supabase-api { rewrite ^/supabase-api(/.*)$ $1 break; proxy_pass http://sdp-kong:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Authorization $http_authorization; proxy_set_header apikey $http_apikey; proxy_buffering off; } # ============================================================================ # Keycloak - Single Sign-On (SSO) # ============================================================================ location /keycloak { rewrite ^/keycloak(/.*)$ $1 break; proxy_pass http://keycloak:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Prefix /keycloak; proxy_cookie_path / /keycloak/; proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; } # ============================================================================ # Apache Superset - Business Intelligence # ============================================================================ location /superset { rewrite ^/superset(/.*)$ $1 break; proxy_pass http://superset:8088; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Script-Name /superset; proxy_cookie_path / /superset/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_connect_timeout 300s; proxy_send_timeout 300s; proxy_read_timeout 300s; } # ============================================================================ # Apache Airflow - Workflow Orchestration (Optional) # ============================================================================ location /airflow { rewrite ^/airflow(/.*)$ $1 break; proxy_pass http://airflow-webserver:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Script-Name /airflow; proxy_cookie_path / /airflow/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } # ============================================================================ # DBT Documentation (Optional) # ============================================================================ location /dbt { rewrite ^/dbt(/.*)$ $1 break; proxy_pass http://dbt-docs:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } # ============================================================================ # Dozzle - Docker Log Viewer & Monitoring # ============================================================================ location /dozzle { proxy_pass http://dozzle:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_buffering off; proxy_read_timeout 300s; }