Files
sriphat-dataplatform/document-obsidiant/2026-SRI-PJ-001 Sriphat AI Transformation/09-Port-Reference.md
jigoong a587be08bd feat: MinIO integration — bucket finance, API service upload, Nginx routing
- 01-infra/nginx-configs: add MinIO /minio/ and /minio-console/ location blocks
  (port 9000 S3 API, port 9001 Console UI, path stripping via rewrite)
- 03-apiservice: integrate MinIO minio-python SDK for file upload
  - requirements.txt: add minio==7.2.11
  - app/core/config.py: add MINIO_ENDPOINT, ACCESS_KEY, SECRET_KEY, BUCKET_FINANCE, USE_SSL
  - app/services/minio_client.py: new — upload_file(), get_presigned_url(), delete_file()
  - app/routes/pages.py: replace local /data/uploads/ write with MinIO upload to finance bucket
  - docker-compose.yml: pass MinIO env vars to container
  - .env.example: document MinIO vars
- 07-minio/.env.example: add MINIO_SVC_ACCESS_KEY/SECRET_KEY section
- 07-minio/README.md: add Python minio SDK and Airflow DAG usage guide
- CLAUDE.md: project context (servers, SSH, paths, service distribution)
- document-obsidiant/: initial Obsidian docs for all services
2026-05-20 17:42:39 +07:00

112 lines
3.7 KiB
Markdown

---
tags:
- project/sriphat
- reference
- ports
- network
created: 2026-05-07
status: active
---
# Port & Service Reference
## Host Ports (External Access)
| Port | Service | Container | Protocol |
|------|---------|-----------|---------|
| **8020** | Nginx Reverse Proxy | `nginx-proxy-manager` | HTTP |
| **8085** | Keycloak | `keycloak` | HTTP |
| **5435** | PostgreSQL (Infra) | `postgres` | TCP |
| **9999** | Dozzle (Log Monitor) | `dozzle` | HTTP |
| **3010** | Supabase Studio | `sdp-supabase-studio` | HTTP |
| **8100** | Supabase Kong API | `sdp-supabase-kong` | HTTP |
| **8444** | Supabase Kong API | `sdp-supabase-kong` | HTTPS |
| **5434** | Supabase PostgreSQL | `sdp-supabase-db` | TCP |
| **6544** | Supabase Pooler | `sdp-supabase-pooler` | TCP |
| **8040** | API Service | `apiservice` | HTTP |
| **8200** | Airflow API Server | `airflow-apiserver` | HTTP |
| **5555** | Flower (Celery UI) | `flower` | HTTP (optional) |
| **8088** | Apache Superset | `superset` | HTTP |
| **9000** | MinIO API | `minio` | HTTP |
| **9001** | MinIO Console | `minio` | HTTP |
## Internal-Only Ports (Docker Network)
| Port | Service | Container | ใช้งาน |
|------|---------|-----------|--------|
| **5432** | PostgreSQL (Infra) | `postgres` | Keycloak, API Service, Superset, Airflow |
| **6379** | Redis | `redis` | Airflow Celery broker |
| **8080** | Keycloak | `keycloak` | Internal (Nginx proxy → external 8085) |
| **9999** | GoTrue (Auth) | `sdp-supabase-auth` | Supabase auth |
| **3000** | PostgREST | `sdp-supabase-rest` | Supabase REST API |
| **4000** | Realtime | `sdp-realtime-dev` | WebSocket |
| **5000** | Storage API | `sdp-supabase-storage` | File storage |
| **5001** | ImgProxy | `sdp-supabase-imgproxy` | Image transform |
| **8080** | Postgres Meta | `sdp-supabase-meta` | DB metadata API |
| **4000** | Logflare | `sdp-supabase-analytics` | Log analytics |
| **4000** | Supavisor | `sdp-supabase-pooler` | Pooler management |
| **9001** | Vector | `sdp-supabase-vector` | Health check |
| **8080** | Airflow Scheduler | `airflow-scheduler` | Health check |
| **8974** | Airflow Scheduler | `airflow-scheduler` | Health check endpoint |
## Nginx Subpath Routing
| Subpath | Backend Container | Port |
|---------|-----------------|------|
| `/apiservice` | `apiservice` | 8040 |
| `/keycloak` | `keycloak` | 8080 |
| `/supabase` | `sdp-supabase-studio` | 3000 |
| `/supabase-api` | `sdp-supabase-kong` | 8000 |
| `/superset` | `superset` | 8088 |
| `/airflow` | `airflow-apiserver` | 8080 |
| `/minio` | `minio` | 9000 |
| `/minio-console` | `minio` | 9001 |
| `/dozzle` | `dozzle` | 8080 |
## DNS / Hosts
| Name | IP | ใช้งาน |
|------|----|--------|
| `dev.sriphat.com` | `192.168.100.9` | extra_hosts ใน containers |
| `ai.sriphat.com` | ตาม production DNS | Production URL |
## Docker Network
```
Network: shared_data_network (external, bridge)
Containers ที่ join:
├── nginx-proxy-manager
├── keycloak
├── postgres
├── redis
├── dozzle
├── sdp-supabase-studio
├── sdp-supabase-kong
├── sdp-supabase-auth
├── sdp-supabase-rest
├── sdp-realtime-dev
├── sdp-supabase-storage
├── sdp-supabase-imgproxy
├── sdp-supabase-meta
├── sdp-supabase-edge-functions
├── sdp-supabase-analytics
├── sdp-supabase-db
├── sdp-supabase-vector
├── sdp-supabase-pooler
├── apiservice
├── airflow-apiserver
├── airflow-scheduler
├── airflow-dag-processor
├── airflow-worker
├── airflow-triggerer
├── superset
└── minio
```
## Related
- [[00-Project-Overview]]
- [[01-Infrastructure]]
- [[08-Operations-Runbook]]