pelican-eggs / yolks

Docker images designed for use with Pterodactyl's Egg system.
MIT License
86 stars 241 forks source link

add screeps docker #242

Open 77wisher77 opened 3 months ago

77wisher77 commented 3 months ago

Description

A Docker for the Dedicated Screeps server

All Submissions:

New Image Submissions:

  1. [ ] Have you added your image to the Github workflows?
  2. [x] Have you updated the README list to contain your new image?
77wisher77 commented 3 months ago

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

77wisher77 commented 3 months ago

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

QuintenQVD0 commented 3 months ago

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

77wisher77 commented 3 months ago

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 commented 3 months ago

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 commented 3 months ago

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 commented 3 months ago

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 commented 3 months ago

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