Files
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

3.7 KiB

tags, created, status
tags created status
project/sriphat
reference
ports
network
2026-05-07 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