感谢您整理了这份指南!我使用 Minio 取得了一些成功。
对于其他尝试使用 Docker Compose 在本地设置它的人来说,您可以告诉 Docker 添加一个主机名别名,使其作为子域工作,如下所示:
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
在这种情况下,您需要设置 DISCOURSE_S3_ENDPOINT=http://minio.mydomain.com:9000,DISCOURSE_S3_CDN_URL=//assets.minio.mydomain.com:9000,并将本地 /etc/hosts/ 文件设置为将子域指向 localhost。
这在大多数情况下都运行良好,但我确实注意到 Discourse 无法从没有端口 80 或 443 的地址下载文件,因此上传图片可以工作,但在尝试下载它以调整大小时会失败。
我想也许可以在 Minio 部分或摘要中提到 DISCOURSE_S3_CDN_URL 必须是端口 80 或 443。