From 65510fd92e7c930a92cc6b615f2fd44a22f9e318 Mon Sep 17 00:00:00 2001 From: Federico Barera Date: Sun, 17 Jul 2022 15:08:38 +0100 Subject: [PATCH] update readme --- README.md | 71 +++++++++++++++++++---------------- deploy.sh | 2 + release.sh | 2 - retrieve.sh => retrieve_ip.sh | 0 4 files changed, 40 insertions(+), 35 deletions(-) create mode 100644 deploy.sh delete mode 100644 release.sh rename retrieve.sh => retrieve_ip.sh (100%) diff --git a/README.md b/README.md index b8f3128..63d5ae3 100644 --- a/README.md +++ b/README.md @@ -1,55 +1,60 @@
-![logo](https://github.com/treyyoder/quakejs-docker/blob/master/quakejs-docker.png?raw=true) -# quakejs-docker +![logo](https://github.com/federicobarera/quakejs-docker/blob/master/quakejs-docker.png?raw=true) +# quakejs-docker -![Docker Image CI](https://github.com/treyyoder/quakejs-docker/workflows/Docker%20Image%20CI/badge.svg) -
-:warning: 4/22/2020 Fixed a bug that was preventing other maps from loading. Pull the lastest image from Docker Hub. +![Docker Image CI](https://github.com/federicobarera/quakejs-docker/workflows/Docker%20Image%20CI/badge.svg) -:warning: 4/20/2020 Issues with entrypoint permissions and the refresh loop have been addressed. Pull the lastest image from Docker Hub. + -### A fully local and Dockerized quakejs server. Independent, unadulterated, and free from the middleman. +## Usage -The goal of this project was to create a fully independent quakejs server in Docker that does not require content to be served from the internet. -Hence, once pulled, this does not need to connect to any external provider, ie. content.quakejs.com. Nor does this server need to be proxied/served/relayed from quakejs.com +### Standalone or internal network -#### Simply pull the image [treyyoder/quakejs](https://hub.docker.com/r/treyyoder/quakejs) ``` -docker pull treyyoder/quakejs:latest +docker run -d --name quakejs -e HTTP_PORT=8080 -p 8080:80 -p 27960:27960 federicobarera2/quakejs:latest ``` -#### and run it: -``` -docker run -d --name quakejs -e HTTP_PORT= -p :80 -p 27960:27960 treyyoder/quakejs:latest -``` +Navigate to http://localhost:8080 or network ip + +### Fargate -#### Example: +Perform aws cli login ``` -docker run -d --name quakejs -e HTTP_PORT=8080 -p 8080:80 -p 27960:27960 treyyoder/quakejs:latest +npm i +sh ./deploy.sh [--profile] ``` -Send all you friends/coworkers the link: ex. http://localhost:8080 and start fragging ;) +After the deploy the `retrieve_ip.sh` script will retrive the public ip of the fargate task + +**cdk.json configuration** + +| name | desc | +| ---------------- | --------------------------------------------------------------------- | +| whiteListedIps | array of ips allowed to connect | +| usePrebuildImage | leave blank to build from local repository (eg, change in server.cfg) | +| useCapacity | FARGATE or FARGATE_SPOT | +| cpu | CPU requested for fargate task | +| memory | memory requested for fargate task | + +## server.cfg: -#### server.cfg: Refer to [quake3world](https://www.quake3world.com/q3guide/servers.html) for instructions on its usage. -#### docker-compose.yml -``` -version: '2' -services: - quakejs: - container_name: quakejs - environment: - - HTTP_PORT=8080 - ports: - - '8080:80' - - '27960:27960' - image: 'treyyoder/quakejs:latest' -``` +## Changelog + +### 17/07/2022 +- Dockerfile modified to make build work again +- `echo "127.0.0.1 content.quakejs.com" >> /etc/hosts` moved to the `./entrypoint.sh` as + - Not working anymore during build: https://stackoverflow.com/questions/38302867/how-to-update-etc-hosts-file-in-docker-image-during-docker-build + - Runtime `add-host` not available in fargate +- Added cdk fargate deployment model +- Deployed new docker image based from `treyyoder` latest with: + - No need for -e `SERVER` + - Manifest and content pulled from within image ## Credits: -Thanks to [begleysm](https://github.com/begleysm) with his [fork](https://github.com/begleysm/quakejs) of [quakejs](https://github.com/inolen/quakejs) to which this was derived, aswell as his thorough [documentation](https://steamforge.net/wiki/index.php/How_to_setup_a_local_QuakeJS_server_under_Debian_9_or_Debian_10) +Thanks to [treyyoder](https://github.com/treyyoder) with his [fork](https://github.com/treyyoder/quakejs-docker) of [quakejs](https://github.com/inolen/quakejs) to which this was derived, aswell as his thorough [documentation](https://steamforge.net/wiki/index.php/How_to_setup_a_local_QuakeJS_server_under_Debian_9_or_Debian_10) diff --git a/deploy.sh b/deploy.sh new file mode 100644 index 0000000..b8df528 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,2 @@ +npx cdk deploy $* +sh ./retrieve_ip.sh $* \ No newline at end of file diff --git a/release.sh b/release.sh deleted file mode 100644 index 516dd6d..0000000 --- a/release.sh +++ /dev/null @@ -1,2 +0,0 @@ -npx cdk deploy $* -sh ./retrieve.sh $* \ No newline at end of file diff --git a/retrieve.sh b/retrieve_ip.sh similarity index 100% rename from retrieve.sh rename to retrieve_ip.sh