From f5d1cda60df14d98bb06db40d684d5365716dad9 Mon Sep 17 00:00:00 2001 From: Driver-C <35056839+Driver-C@users.noreply.github.com> Date: Mon, 25 Nov 2024 11:56:04 +0800 Subject: [PATCH] Add dockerfile (#1169) --- Dockerfile | 24 ++++++++++++++++++++++++ README.md | 11 +++++++++++ 2 files changed, 35 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..c382a02839 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,24 @@ +# Global ARGs +ARG BUILDER_IMAGE=node:16.20 +ARG NGINX_IMAGE=nginx:1.26.1-alpine +ARG WORKSPACE=/workspace +ARG WEB_PATH=/usr/share/nginx/html + +# Builder +FROM $BUILDER_IMAGE as builder +ARG WORKSPACE + +WORKDIR $WORKSPACE +COPY ./ $WORKSPACE/ +RUN npm install \ + && npm run build \ + && rm -rf dist \ + && mkdir dist \ + && cp -r *.html *.ico LICENSE evolve lib font strings wiki dist + +# Web server +FROM $NGINX_IMAGE +ARG WORKSPACE +ARG WEB_PATH + +COPY --from=builder $WORKSPACE/dist $WEB_PATH diff --git a/README.md b/README.md index 275eca4c36..0c5f6e0d60 100644 --- a/README.md +++ b/README.md @@ -69,3 +69,14 @@ npm run deploy # Deploys the game to GitHub Pages on Windows (requires forking) npm run deploy-win ``` + +## Docker +If you already have a Docker environment set up and want to run an evolve server using Docker, you can execute the following command to build a Docker image for the evolve server. + +``` +# Build evolve server image +docker build . -t evolve + +# Run evolve server. Default address: http://localhost:8080/ +docker run --name evolve -p 8080:80 -d evolve +```