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
2026-03-06 17:37:47 +07:00
2026-02-13 17:29:01 +07:00
2026-02-13 17:29:01 +07:00
2026-02-13 17:29:01 +07:00
2026-02-16 23:20:48 +07:00
2026-02-16 23:20:48 +07:00
2026-02-13 17:29:01 +07:00
2026-02-17 09:00:21 +07:00
2026-02-17 09:00:21 +07:00

Sriphat Hospital Data Platform

Modern Data Stack สำหรับโรงพยาบาลศรีพัฒน์ ประกอบด้วย:

  • Nginx Proxy Manager - Gateway + SSL
  • Keycloak - Single Sign-On (SSO)
  • PostgreSQL - Data Warehouse
  • API Service - Custom FastAPI endpoints
  • Airbyte - Data Ingestion
  • Apache Superset - Business Intelligence

🚀 Quick Start

Ubuntu Server (Production)

# Quick install (recommended)
bash install.sh

# Or manual setup
sudo bash setup-ubuntu.sh
# (logout/login, then continue)
bash start-all.sh

See README-UBUNTU.md for detailed Ubuntu installation guide.

Development/Windows

# 1. Configure environment
notepad .env.global

# 2. Start all services
bash start-all.sh

# 3. Access services
# - Nginx Proxy Manager: http://localhost:81
# - Keycloak: http://localhost:8080
# - API Service: http://localhost/apiservice

📁 Project Structure

├── 00-network/          # Shared Docker network
├── 01-infra/            # Nginx + Keycloak + PostgreSQL
├── 03-apiservice/       # Custom FastAPI service
├── 04-ingestion/        # Airbyte ETL
├── 06-analytics/        # Apache Superset
├── .env.global          # Global configuration
├── start-all.sh         # Start all services
├── stop-all.sh          # Stop all services
└── DEPLOYMENT.md        # Full deployment guide

📖 Documentation

🔒 Security

All services communicate via shared_data_network and are exposed through Nginx Proxy Manager only. Keycloak provides centralized authentication (SSO) for all components.

📊 API Service

Custom FastAPI service with:

  • Admin UI for managing API keys
  • Permission-based access control
  • Integration with PostgreSQL schemas (fastapi, operationbi)
  • Endpoint: POST /api/v1/feed/checkpoint

Required permission: feed.checkpoint:write

Description
No description provided
Readme 482 KiB
Languages
Python 47.2%
HTML 29.6%
Shell 21%
PowerShell 1.6%
Dockerfile 0.6%