Grasscutters / Grasscutter

A server software reimplementation for a certain anime game.
https://grasscutter.io/
GNU Affero General Public License v3.0
16.2k stars 4.47k forks source link

Add Docker Support #2486

Closed kashalls closed 6 months ago

kashalls commented 6 months ago

Description

This PR extends off of #2455, simply adding support for building the required containers and publishing them to ghcr.io

This PR introduces a github workflow to build and publish a docker container that runs grasscutter on amd64 platforms. The base builder container that gradle provides isn't supported for arm64, therefore we can't build for Raspberry Pi's/ARM-based platforms. This might be fixed in the future.

Configuration file can be loaded by using -v C:\\Grasscutter\\test.json:/app/config.json

Issues fixed by this PR

See #2455

Type of changes

Checklist:

Hartie95 commented 6 months ago

Just out of curiosity, why is the npm/nodejs update /install required in the docker script?

KingRainbow44 commented 6 months ago

presumably for handbook generation; but since it requires extra data, it was skipped anyways

kashalls commented 6 months ago

Just out of curiosity, why is the npm/nodejs update /install required in the docker script?

I added it for handbook generation, makes it easy to add the data into the data task and include it if its needed.