Can't deploy render/examples/minio

when I deploy the render-examples/mino repo, minio starts but is not accessible.

Here are the log messages.

Dec 9 10:20:23 AM  API: http://10.104.185.142:10000  http://127.0.0.1:10000
Dec 9 10:20:23 AM  
Dec 9 10:20:23 AM  Console: http://10.104.185.142:40249 http://127.0.0.1:40249
Dec 9 10:20:23 AM  
Dec 9 10:20:23 AM  Documentation: https://docs.min.io
Dec 9 10:20:23 AM  
Dec 9 10:20:23 AM  WARNING: Console endpoint is listening on a dynamic port (40249), please use --console-address ":PORT" to choose a static port.
Dec 9 10:20:23 AM  WARNING: Detected default credentials 'minioadmin:minioadmin', we recommend that you change these values with 'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' environment variables

Note, the repo also has 2 pull requests that Render has not yet approved. I believe at least one of them when be a problem once I get this issue resolved.

OK, it looks like the issue is just that the example repo is out of date as Minio has changed a few things. I have created a pull request with the fixes. Can someone at Render review and merge in.

thanks

I stand corrected. it works locally but Render.com doesn’t seem to see the fixes. I updated the Render web service to use the branch with the fixes but I still get the same errors.

OK, I think I figured it out. I needed to use a BluePrint rather than WebService.

It would be great if someone at Render could review the pull request and merge in the changes so others don’t run into these problems.

1 Like

Hi @anuaimi, thank you for your help with those suggestions. I wanted to update you that the pull request is under review and should be merged soon. Let us know if there is anything else we can do.

1 Like

@anuaimi Hi, I’ve tried updating a blueprint according to your PR and It’s not deploying for me. Further, I see zero logs at all.

My structure:

- minio/
-- Dockerfile
-- entrypoint.sh
- render.yaml

My service

#...
- type: web
    name: minio
    env: docker
    dockerfilePath: ./minio/Dockerfile
    dockerContext: ./minio/ # also tried just using '.'
    disk:
      name: data
      mountPath: /data
    healthCheckPath: /minio/health/live
    envVars:
      - key: MINIO_ROOT_USER
        generateValue: true
      - key: MINIO_ROOT_PASSWORD
        generateValue: true
      - key: PORT
        value: 10000
#...

entrypoint.sh

#!/usr/bin/env sh
# wrapper for docker entrypoint that takes into account the PORT env var

exec docker-entrypoint.sh server --console-address ":10000" --address ":9000" /data

and Dockerfile

FROM minio/minio:latest

COPY entrypoint.sh /opt/render/entrypoint.sh

ENTRYPOINT ["/opt/render/entrypoint.sh"]

Any pointers on what I’m missing? Thanks!

CC @tyler

I don’t see any major differences but there are a number of minor differences. On the surface none are obvious issues so I’d just make the files and structure exactly match my repo (or the updated official one) and see if it works.

If it does, you can slowly revert the changes to isolate which one is causing issues.

If it doesn’t, it’s almost like the container isn’t even being built. You should see log messages the 1st time you change a file. I’m new to Render so not sure under what circumstances that might happen.

ah, I should clarify - the container gets built. I do see the initial build, I can launch shell in the container and have inspected that the entrypoint file is getting added to the right place. But in terms of what’s erroring on executing the actual container after creation, there’s no logs. Just suddenly a failed deploy status.

Here’s the full repo for giggles since there’s nothing yet special about this build.

Good morning. I took a look at your repo and tried to run minio locally. The issue is that your entry point.sh is not marked as an executable. If you do chmod +x entrypoint.sh and then rebuild your minio container it should run.

Best of luck
Athir

1 Like

Well, I hate to bash on docker…

Jokes aside, thanks! That was absolutely the issue. I went ahead and added this line in the Dockerfile after the copy bits as a way to “future proof” my forgetfulness.

RUN chmod +x /opt/render/entrypoint.sh
Saw that tip from here

I’ll make a PR. Feel free to ignore. :slight_smile:

Update: Adding executable guard to Dockerfile by motleydev · Pull Request #5 · render-examples/minio · GitHub

1 Like