jammsen / docker-palworld-dedicated-server

Docker container to easily provision and manage Palworld Dedicated Server
https://hub.docker.com/r/jammsen/palworld-dedicated-server
MIT License
907 stars 157 forks source link

[Feature Request] Allow to run with userID other than 1000:1000 #117

Closed masonen closed 6 months ago

masonen commented 7 months ago

Have you read the Important information text above

Describe the feature

Currently we are forced to run the survice with USER and GROUP ID 1000 which is ok if i run this on an environment where this user is availiable to me.

However if not (or if i want to run it with another userid) there is currently no way to do this easily (this is kind of related to the used baseimage which is build with default PUID=1000

Also it is not a very good approach to require the user to run chmod 777 on the data directory (which will not work if one is using an NFS share for game files mounted as docker volume directly)

Allowing correct user IDs and using the non root base container is a workaround for this though. Thats what i did on my infra in a sloppy way.

If you find this valuable im happy to submit a PR that adds this functionality to your image/stack

Additional information

Final checks

jammsen commented 7 months ago

Hey @masonen Im just using the base image of @CM2Walki as the :root version. If you would like to change the UID/GID, in an interactive way i would suggest opening an issue over here: https://github.com/CM2Walki/steamcmd/issues - I dont think @CM2Walki would have to change much to support something like this: image

I personally use this also in a "node" way: VERY GOOD EXAMPLE HERE: https://github.com/nodejs/docker-node/blob/main/docs/BestPractices.md#non-root-user Node does a fantastic thing and has a very good documentation about this

masonen commented 7 months ago

As i said. I do have a solution in place and willing to contribute it if you see value for it. Let me know if not I just stick with my side image :)

masonen commented 7 months ago

The base image already supports alternive user id as build argument.. :)

jammsen commented 7 months ago

The base image already supports alternive user id as build argument.. :)

Yeah the node image supports it on "runtime" not as Build-ARGS on Buildtime.

As i said. I do have a solution in place and willing to contribute it if you see value for it. Let me know if not I just stick with my side image :)

If you want, you can create a pull-request for this and i will have a look at it.

Eforen commented 7 months ago

I am having the same problem because I am am using a NFS share on K8s

jammsen commented 7 months ago

We might be able to do something about this when #160 is done and merged. Before that im not touching this issue, because we sometimes, need to setup things to be able to work with it better to enable us down the line to enable other stuff like this request.

@thejcpalma and the other Contributors (me included) are working on it.

jammsen commented 6 months ago

Hey @masonen & @Eforen ! Not sure why this issue was closed, because i was heavily working on it 🤔

This feature is now implemented, please go ahead and try it out on the "develop" tag of the Docker-Image. The more feedback i get the faster it gets to master/prod/latest tag.

See also: https://github.com/jammsen/docker-palworld-dedicated-server/blob/develop/CHANGELOG.md

jammsen commented 6 months ago

This is fix in the release on latest from 5 minutes ago. See Changelogs or Discord message regarding the new release and what to lookout for.

Im closing this issue as resolved, feel free to reach out again if you need help.

If you like this project, please consider giving this repo and the Docker-Hub-Repo a Star.