Docker contianer?
is there any interest in an "officially maintained" docker container? would that be a huge amount of work to create?
Obligatory: awesome work! what a year of commits that newserv has seen, you're slaying it! Been such a huge fan since back in Khyller 2.x days, and GCARS is just... wow. you MADE code hacking on gamecube. truly truly appreciative of all your effort and talent.
Thanks for the appreciation! The amount of work I've put into my projects this year has been the result of taking a break from my career (for other reasons) so it'll eventually slow down when I go back to work. But it's nice to know my work is useful/helpful to others :)
Re: a Docker container, I haven't really considered it in the past, mostly out of laziness and the fact that few people used my projects. But it may be time for newserv to have more than just an occasional macOS build on the GitHub repo... I'll leave this ticket open while I think more on this.
Any further thoughts on this? I'd love to see a docker container made for this.
I haven't built/used newserv before (just casually watching development =]) but I can take a stab at containerizing it.
I've made a dockerfile (and have GitHub Auto building it for me) for my own personal uses here: https://github.com/athendrix/newserv-alpine-container-builder
I simlink some of the folders and the config file to /config so that can be mounted as a volume.
I also have a big section where I remove all the Japanese quests that have English translations already. The client I have shows up as a Japanese client, and the server will only give me Japanese quests if I leave them in, so I remove them.
Finally, I have it setup so it can run an autoexec.sh script from the /config folder so I can have it do something before starting the server on each reboot.
At the least, it can serve as a rudimentary template for basing your own Dockerfile, since it does build and compile everything, and so far it's been working great for me.
One last thing, I only "expose" the ports for GC and Blue Burst, but nobody uses those anyway, except to remember which ports to expose.
I'll probably improve it so it doesn't run as root and copies the default config if it doesn't find one.
Hope it helps!
@athendrix can you create a PR for this? adjusting the docker to expose all the default ports in the config.example.json and keeping the default quests and whatnot?
I'm working on a container, too. Based on Linuxserver.io alpine image with s6 and uid/gid setting. But i have a little problem with execution path (issue #523)