33800 Docs

← Retour

Backlog : MinIO + pgvector

Date ajout : 12/01/2026 Priorite : BASSE Categorie : INFRA Statut : TERMINE (pgvector + buckets, MinIO reporte) Effort estime : S (2-4h)


Contexte

Supabase PROD est deploye avec stockage local. Deux elements optionnels manquent :

  1. pgvector : Extension PostgreSQL pour embeddings vectoriels (RAG, semantic search)
  2. MinIO : Stockage S3-compatible (alternative au stockage local actuel)

1. pgvector

Objectif

Activer les recherches vectorielles dans PostgreSQL pour :

Implementation

-- Se connecter a PostgreSQL PROD
docker exec -it supabase-db-prod psql -U postgres

-- Installer l'extension
CREATE EXTENSION IF NOT EXISTS vector;

-- Verifier
SELECT extname, extversion FROM pg_extension WHERE extname = 'vector';

Verification pre-requis

L'image supabase/postgres:15.8.1.085 inclut deja pgvector. Il suffit de l'activer.

# Verifier que l'extension est disponible
docker exec supabase-db-prod psql -U postgres -c "SELECT * FROM pg_available_extensions WHERE name = 'vector';"

Exemple d'usage

-- Creer une table avec colonne vectorielle
CREATE TABLE documents (
  id SERIAL PRIMARY KEY,
  content TEXT,
  embedding vector(1536)  -- OpenAI ada-002
);

-- Index pour recherche rapide
CREATE INDEX ON documents USING ivfflat (embedding vector_cosine_ops);

-- Recherche par similarite
SELECT content, 1 - (embedding <=> '[0.1, 0.2, ...]') AS similarity
FROM documents
ORDER BY embedding <=> '[0.1, 0.2, ...]'
LIMIT 5;

2. MinIO (optionnel)

Objectif

Remplacer le stockage local Supabase par un stockage S3-compatible :

Etat actuel

Quand deployer MinIO ?

Architecture prevue (si deploye)

┌─────────────────────────────────────────────────────────────┐
│  prod-portainer (192.168.1.12)                              │
│                                                              │
│  ┌─────────────┐     ┌─────────────┐                        │
│  │   MinIO     │     │  Supabase   │                        │
│  │   :9000     │◄────│   Storage   │                        │
│  │   :9001     │     │             │                        │
│  │  (console)  │     └─────────────┘                        │
│  └─────────────┘                                            │
│        │                                                     │
│        ▼                                                     │
│  /mnt/stock_8to/33800-stack/storage/minio/                  │
└─────────────────────────────────────────────────────────────┘

Docker Compose MinIO

  minio:
    image: minio/minio:latest
    container_name: minio-prod
    restart: unless-stopped
    ports:
      - "9000:9000"   # API S3
      - "9001:9001"   # Console
    environment:
      MINIO_ROOT_USER: ${MINIO_ROOT_USER}
      MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
    volumes:
      - /mnt/stock_8to/33800-stack/storage/minio:/data
    command: server /data --console-address ":9001"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
      interval: 30s
      timeout: 20s
      retries: 3

Decision

Element Recommandation Raison
pgvector A FAIRE Simple (1 commande), utile pour projets IA
MinIO REPORTER Storage local suffisant actuellement

Plan d'action

Phase 1 : pgvector (15 min) - TERMINE 12/01/2026

Phase 2 : MinIO (reporter)


Notes


Issu de l'audit du backlog 19-12-2025-supabase-redis-stack.md