I believe that your MinIO is not properly configured for DNS style bucket resolution like AWS S3 does ( bucket.s3. for instance) and as such does not function. And one of the requisites I specify in the document is that you have a fully functional properly configured MinIO instance which is beyond the scope of Discourse’s site. Unfortunately, though, this is where you have to start delving into the MinIO configurations. This is part of MinIO Federation setup, but for single-node instances with multiple bucket names on a base URL you need to make sure it’s properly configured anyways if you want it to work with Discourse. You then need to make sure that NGINX accepts for *.s3. and forwards it properly to the MinIO container. In your example it would be MINIO_DOMAIN=s3. and then your NGINX would need to be configured to pass the Host header to the backend on port 9000 or wherever the base non-console server components run. you need to add in the environment variable of MINIO_DOMAIN=BASEDOMAINHERE so that DNS style pathing that DIscourse wants to use works. Now, my MinIO is not dockerized, but to be compliant here with Discourse, you need to use DNS style pathing, i.e. Therefore the ‘default’ behavior you’re configuring is incorrect. To my knowledge, Discourse uses a URL based mechanism for bucket identification, not path style setups (feel free to correct me Discourse devs). The MinIO client supports both path and dns style setup. You don’t need to configure that on your end though, that needs to be configured on the MinIO side. Don’t forget also that in MinIO speak, if you’re using path authentication you would end up with s3./BUCKETNAME or with DNS authentication like you should use BUCKET.s3. for the URL endpoints that you need to accept on the nginx side and forward to the internal port 9000. The separate bucket will have the same endpoint as s3. - it’s not something separate, so you’re doing THAT configuration wrong. I use Nginx proxy manager to forward to port 9001 and s3. and to port 9000įorward what ports? 80/443 so http/https works? That’s all it needs, you should NEVER have to configure port 9000 on a separate port. There’s no way to get a debug level of logging during the rake process is there (or others who are more familiar with the Discourse side of things)?ĪLSO, make sure you also pass in DISCOURSE_S3_INSTALL_CORS_RULE: false for your Discourse configuration - if the app rebuilder/baker tries to push CORS rules it will result in an error message. It looks like that’s becuase it only is INFO level logging. that was used by the system when it made that inquiry wiht the BadRequest. What I don’t have here is info on the specific request that actually was made - the URL path, etc. It’s possible that may break things in the current setup as well, it’s why the example I wrote and the link to my “How to” that you provided has it as a separate bucket. Set up the minio client (mcli) on the command line at or near the box you’re trying to work with and then try and push a file manually to your buckets.Īdditionally, keep in mind that DISCOURSE_S3_BACKUP_BUCKET with MinIO is designed to be its own bucket, not a subpath within an existing bucket (to my knowledge). My suggestion is make sure everything is compliant with the MinIO and s3cmd command line clients first - I’ve never heard of this “Cyberduck” client (for good reason: it’s Windows and Mac, I’m a Linux guy), and I can’t confirm it’s compliant with MinIO and other things since it says “AWS S3” on its thing and likely is designed for the full S3 API at Amazon, not S3-compliant/compatible items. Have you confirmed that your MinIO configuration works in general with other mechanisms such as the MinIO client or the ? And that you’re using the proper URLs and configuration against MinIO? Ask everyone, I believe this problem will be solved soon So, is it that minio and discourse don’t work well together, but I’ve seen people using minio successfully. I searched related issues and haven’t solved it, it works fine if using vultr object storage. sudo -E -u discourse bundle exec rake s3:upload_assets My app.yml s3 settings DISCOURSE_USE_S3: trueĭISCOURSE_S3_BACKUP_BUCKET: bucket/backups (as minio access console)Īll domains are properly credentialed and trying to connect to the account using Cyberduck using s3. or bucket.s3. is available for uploading and downloading files. I have configured multiple domains for minio Rebuild display when using minio as object store I, INFO - : > cd /var/www/discourse & sudo -E -u discourse bundle exec rake s3:upload_assetsĪws::S3::Errors::BadRequest: An error occurred when parsing the HTTP request PUT at '/'
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |