💁 Slight changes, removing some stuff that I dislike and fixing some errors I ran into along the way
- Runs entrypoint as
quakejs
user - Multiple
RUN
Dockerfile statements have been squished into one long chain nginx
runs asquakejs
instead ofroot
- Hacky way of bypassing Nginx's inability to serve static files via POST request, fixes
405 Method Not Allowed
- Use entrypoint script to launch nginx and node
The repository this was forked from fixed up reverse proxying so you can expose this QuakeJS server under HTTPS and it will work fine via Caddy or another Nginx instance.
📂 Directories:
/var/www/html
- Main QuakeJS web files, symlink to/quakejs/html
but files can be mounted over and overwritten/var/www/html/assets
- QuakeJS assets
A fully local and Dockerized quakejs server. Independent, unadulterated, and free from the middleman.
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
Simply pull the image treyyoder/quakejs
docker pull treyyoder/quakejs:latest
docker run -d --name quakejs -p 8080:80 treyyoder/quakejs:latest
docker run -d --name quakejs -p 8080:80 treyyoder/quakejs:latest
Send all you friends/coworkers the link: ex. http://localhost:8080 and start fragging ;)
Refer to quake3world for instructions on its usage.
version: '2'
services:
quakejs:
container_name: quakejs
ports:
- '8080:80'
image: 'treyyoder/quakejs:latest'
Build the image with:
docker build . -t treyyoder/quakejs:latest
Thanks to begleysm with his fork of quakejs to which this was derived, aswell as his thorough documentation