El servicio Discourse Docker no se inicia correctamente

Quería probar Discourse localmente, así que usé Docker Compose para intentar configurarlo:

version: '3.8'

services:
  postgres:
    image: pgvector/pgvector:pg17
    container_name: discourse-postgres
    restart: always
    environment:
      POSTGRES_USER: discourse
      POSTGRES_PASSWORD: discourse
      POSTGRES_DB: discourse
      # Asegurar que la extensión se cargue correctamente
      # POSTGRES_INITDB_ARGS: "--enable-extensions=vector"
    volumes:
      - ./data/postgres:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U discourse && psql -U discourse -c 'SELECT * FROM pg_extension WHERE extname = ''vector'';'"]
      interval: 10s
      timeout: 5s
      retries: 5

  redis:
    image: redis:7-alpine
    container_name: discourse-redis
    restart: always
    volumes:
      - ./data/redis:/data
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 5s
      retries: 5

  discourse:
    image: discourse/discourse:stable
    container_name: discourse-app
    restart: always
    depends_on:
      postgres:
        condition: service_healthy
      redis:
        condition: service_healthy
    ports:
      - "80:80"
    environment:
      DISCOURSE_DB_HOST: postgres
      DISCOURSE_DB_USER: discourse
      DISCOURSE_DB_PASSWORD: discourse
      DISCOURSE_REDIS_HOST: redis
      DISCOURSE_DEVELOPER_EMAILS: "admin@example.com"
      DISCOURSE_HOSTNAME: "localhost"
      # Configuración SMTP temporal (debe modificarse a valores reales después del inicio)
      DISCOURSE_SMTP_ADDRESS: "smtp.example.com"
      DISCOURSE_SMTP_PORT: 587
      DISCOURSE_SMTP_USER_NAME: "admin@example.com"
      DISCOURSE_SMTP_PASSWORD: "password"
      # Opcional: Deshabilitar funciones de IA no necesarias para reducir dependencias de extensión (si es necesario)
      DISCOURSE_DISABLE_VECTOR_SEARCH: "true"
    volumes:
      - ./data/discourse:/var/www/discourse/shared

Pero encontré un problema que me impide experimentar el foro de Discourse:

discourse-postgres  | 2026-01-20 09:19:47.774 UTC [140] ERROR:  column "vector" does not exist at character 44
discourse-postgres  | 2026-01-20 09:19:47.774 UTC [140] STATEMENT:  SELECT * FROM pg_extension WHERE extname = vector;

No estoy seguro de cuál es la razón, ¿algún veterano podría orientarme?

Esto no es un Bug. Esta no es la instalación local soportada. Ver dev-install

2 Me gusta

Necesitas la extensión pgvector para postgres. Además, Discourse no funcionará sin https. Si realmente quieres una instalación local, deberías usar la instalación de desarrollo.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.