Volume permissions

Hello 👋

I have a problem running Opensearch on Railway. I would like to mount a volume on /usr/share/opensearch/data but, since the volume is mounted as root, Opensearch can't use it and I get errors. I tried to add RAILWAY_RUN_UID=0 as stated on Railway docs but Opensearch won't run as root :/

OpenSearch cannot run as root. Please start your container as another user.

Thanks for any help 🙂

Solved$10 Bounty

Pinned Solution

a year ago

Something like this will likely need to be done -

https://github.com/railwayapp-templates/elasticsearch

10 Replies

188bf912-f6d5-473b-a04c-28fcc7d44154


As a workaround I used this start command but I'm not sure if it's suitable in a production environment 😦

bash -c "yum install -y sudo && chown -R 1000:1000 /usr/share/opensearch && sudo -E -u opensearch bash -c 'export PATH=$PATH:/usr/share/opensearch/bin && ./opensearch-docker-entrypoint.sh'"


a year ago

Best practice is to do this in the dockerfile doing something like this

```docker

FROM opensearchproject/opensearch:latest

USER root

RUN chown -R 1000:1000 /usr/share/opensearch

USER 1000

CMD ["./opensearch-docker-entrypoint.sh"]

```

according to some articles I saw online. Let me know if this helps!


noahd

Best practice is to do this in the dockerfile doing something like this \`\`\`docker FROM opensearchproject/opensearch:latest USER root RUN chown -R 1000:1000 /usr/share/opensearch USER 1000 CMD \["./[opensearch-docker-entrypoint.sh](http://opensearch-docker-entrypoint.sh)"\] \`\`\` according to some articles I saw online. Let me know if this helps!

a year ago

Volumes aren't available during build, so chowning the folder at build won't do too much.


brody

Volumes aren't available during build, so chowning the folder at build won't do too much.

a year ago

Oh really? Well crap thats not ideal...


a year ago

So would his solution be best?


a year ago

Something like this will likely need to be done -

https://github.com/railwayapp-templates/elasticsearch


I can't do this since opensearch container doesn't come with sudo installed. That's why i install it in the start command in my workaround :/

So looks like my solution wasn't "just" a workaround ?


a year ago

Take a peek at this as it looks to be doing something similar. https://github.com/railwayapp-templates/elasticsearch/blob/main/Dockerfile


noahd

Take a peek at this as it looks to be doing something similar. <https://github.com/railwayapp-templates/elasticsearch/blob/main/Dockerfile>

a year ago

As brody had sent^


Status changed to Solved brody • 11 months ago


Welcome!

Sign in to your Railway account to join the conversation.

Loading...