Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add screeps docker #242

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Conversation

77wisher77
Copy link

@77wisher77 77wisher77 commented May 6, 2024

Description

A Docker for the Dedicated Screeps server

All Submissions:

  • Have you ensured there aren't other open Pull Requests for the same update or change?
  • Have you created a new branch for your changes and PR from that branch and not from your master branch?

New Image Submissions:

  1. Have you added your image to the Github workflows?
  2. Have you updated the README list to contain your new image?

@77wisher77
Copy link
Author

how do i add the image to the gitlab workflows, do i just add - screeps to the games.yml jobs matrix section?

@77wisher77
Copy link
Author

and will the workflows automatically create the docker image at ghcr.io/parkercvp/games:screeps? I assumed this when updating the readme

@QuintenQVD0
Copy link
Collaborator

is this realy needed? it seems like a normal nodejs image can run this just fine?

@77wisher77
Copy link
Author

Screeps requires nodejs 10, which i didnt see an image of.

It also requires python2 and various build tools to successfully install screeps (on alpine images you would need alpine-sdk & linux-headers)

So all in all, you need a few extra requirements ontop of nodejs for screeps

@QuintenQVD0
Copy link
Collaborator

Screeps requires nodejs 10, which i didnt see an image of.

It also requires python2 and various build tools to successfully install screeps (on alpine images you would need alpine-sdk & linux-headers)

So all in all, you need a few extra requirements ontop of nodejs for screeps

node 10 is long EOL, and building it should be done in the install script, not with the main image. The install container can run regular images.

@77wisher77
Copy link
Author

77wisher77 commented May 9, 2024

Testing this with the Alpine yolk and using an older alpine install image (python 2 isnt available on the latest) to see if this can indeed be avoided as its own yolk.

On an AMD 5950X node (assigned 16 cores, node is inside a dedicated VM), the nodejs 10 install takes over 30 minutes. That alone makes me feel like having this as a yolk rather than an install script would be worthwhile... Even though it only has to be done once per install, its a long time for a server to setup

Once installed im having trouble sourcing node into the cmd line aswell in the yolk image, still figuring out why this is happening
The directory node is installed to straight up doesnt even exist after that 30-40 minute install script..., does ptero not mount the same across the install script container and the server container?

edit:
Trying to instead install to /home/container, didnt try this first as i assumed the dir would not exist and didnt want to break permissions of the container user

edit 2:
Apparently i should install persistent things to /mnt/server during install script, attempting this now

@77wisher77
Copy link
Author

Ok, using the Alpine yolk, i can't source or . /home/container/nvm/nvm.sh to load up node v10, looking like I will need at the least a node10 yolk or external docker to run screeps

@gOOvER
Copy link

gOOvER commented May 9, 2024

Ok, using the Alpine yolk, i can't source or . /home/container/nvm/nvm.sh to load up node v10, looking like I will need at the least a node10 yolk or external docker to run screeps

as Quinten said. Node10 is EOL since a long time. Feel free to create your own Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants