Configurar um provedor de armazenamento de objetos compatível com S3 para uploads

Obrigado por montar este guia! Tive algum sucesso usando o Minio.

Para quem mais estiver tentando configurá-lo localmente com Docker Compose, você pode dizer ao Docker para adicionar um alias de hostname para que funcione como um subdomínio, assim:

  minio:
    image: minio/minio
    command: server --console-address :9001 /data
    ports:
      - "9000:9000"
      - "9001:9001"
    volumes:
      - ./data/minio:/data
    environment:
      MINIO_DOMAIN: minio.mydomain.com
    networks:
      default:
        aliases:
          - assets.minio.mydomain.com

Neste caso, você definiria DISCOURSE_S3_ENDPOINT=http://minio.mydomain.com:9000, DISCOURSE_S3_CDN_URL=//assets.minio.mydomain.com:9000, e definiria seu arquivo local /etc/hosts/ para apontar o subdomínio para localhost.

Isso funciona na maior parte do tempo, mas notei que o Discourse não consegue baixar arquivos de um endereço que não tenha a porta 80 ou 443, então o upload de uma imagem funcionará, mas quando ele tentar baixá-la para redimensioná-la, falhará.

Pensei que seria bom mencionar isso na seção do Minio ou no resumo, que o DISCOURSE_S3_CDN_URL deve estar na porta 80 ou 443.

4 curtidas