diff options
| author | EPICGAMES\thierry.begin <[email protected]> | 2024-04-08 10:27:09 -0400 |
|---|---|---|
| committer | EPICGAMES\thierry.begin <[email protected]> | 2024-04-08 10:27:09 -0400 |
| commit | 1e41a4d7f7ece23134020024fa5ca2c64b766944 (patch) | |
| tree | 86a9abdd804a30483b885a074fd33596ec8293e4 | |
| parent | 5.4.3 (diff) | |
| download | zen-1e41a4d7f7ece23134020024fa5ca2c64b766944.tar.xz zen-1e41a4d7f7ece23134020024fa5ca2c64b766944.zip | |
Add docker support
| -rw-r--r-- | .dockerignore | 27 | ||||
| -rw-r--r-- | Dockerfile | 40 | ||||
| -rw-r--r-- | README.Docker.md | 37 | ||||
| -rw-r--r-- | docker-compose.yaml | 14 |
4 files changed, 118 insertions, 0 deletions
diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..09be4b45b --- /dev/null +++ b/.dockerignore @@ -0,0 +1,27 @@ +**/.DS_Store +**/__pycache__ +**/.venv +**/.classpath +**/.dockerignore +**/.env +**/.git +**/.gitignore +**/.project +**/.settings +**/.toolstarget +**/.vs +**/.vscode +**/*.*proj.user +**/*.dbmdl +**/*.jfm +**/bin +**/charts +**/docker-compose* +**/Dockerfile* +**/node_modules +**/npm-debug.log +**/obj +**/secrets.dev.yaml +**/values.dev.yaml +LICENSE +README.md diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..f0c033284 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,40 @@ +# Latest Ubuntu LTS release as of November 2022 +FROM docker.io/library/ubuntu:22.04 AS Base +RUN mkdir /root/zen/ +RUN apt-get update + +## SETUP PHASE +FROM base AS setup +# installing software-properties-common needed for add-apt-repository +RUN apt-get install -y software-properties-common +# adding extra apt repositories for dependencies +RUN add-apt-repository -y ppa:ubuntu-toolchain-r/test && \ + add-apt-repository ppa:xmake-io/xmake +# installing extra dependecies +RUN apt-get update && \ + apt-get install -y \ + curl \ +# netcat \ + wget \ + xmake \ + git \ + build-essential \ + zip \ + pkg-config && \ + apt install -y --no-install-recommends g++-11 + +# installing third party dependencies are provided by Microsoft's vcpkg +RUN git clone https://github.com/microsoft/vcpkg.git ~/zen/vcpkg +RUN ~/zen/vcpkg/bootstrap-vcpkg.sh + +## BUILDING ZENSERVER PHASE +FROM setup AS build_zenserver +COPY . /root/zen/main +RUN export VCPKG_ROOT=~/zen/vcpkg &&\ + export XMAKE_ROOT=y &&\ + cd ~/zen/main &&\ + scripts/ue_build_linux/get_ue_toolchain.sh ./.tmp-ue-toolchain && \ + scripts/ue_build_linux/ue_build.sh .tmp-ue-toolchain xmake config -y --mode=debug && \ + scripts/ue_build_linux/ue_build.sh .tmp-ue-toolchain xmake build + +RUN cp ~/zen/main/build/linux/x86_64/debug/zenserver usr/bin/zenserver diff --git a/README.Docker.md b/README.Docker.md new file mode 100644 index 000000000..36bc28c22 --- /dev/null +++ b/README.Docker.md @@ -0,0 +1,37 @@ +# ZenServer in Docker + +## Simple Build & Launch: +`docker compose up --build`. + +## docker-compose : +``` +version: '3' +services: + zenserver: + container_name: zenserver + build: + context: . + dockerfile: ./Dockerfile + command: zenserver + ports: + - "8558:8558" + volumes: + - /path/to/data:/root/.zen/Data +volumes: + zenserver-data: +``` + +## docker cli (after local image build) : +### Build +`docker build --tag zen-zenserver:latest .` + +### Launch +``` +docker run -d \ +--name=zenserver \ +-p 8558:8558 \ +-v /path/to/data:/root/.zen/Data \ +--restart unless-stopped \ +zen-zenserver:latest \ +"zenserver" +```
\ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 000000000..c707a01d6 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,14 @@ +version: '3' +services: + zenserver: + container_name: zenserver + build: + context: . + dockerfile: ./Dockerfile + command: zenserver -p 8558 --data-dir /root/.zen/Data + ports: + - "8558:8558" + volumes: + - zenserver-data:/root/.zen/Data +volumes: + zenserver-data:
\ No newline at end of file |