Files
sriphat-dataplatform/01-infra/nginx-configs/complete-example.conf

145 lines
5.8 KiB
Plaintext

# 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;
}