In short, Docker will allow you to create in one minute an Agario server on your Pi:
sudo docker run -it --name my-private-agario -p 3000:3000 kafebob/rpi-agario
When you read in console the output
[DEBUG] Listening on 0.0.0.0:3000 you are going to be able to test Agario game in your browser.
[10:11:19] Finished 'build-client' after 14 s [10:11:19] Starting 'build'... [10:11:19] Finished 'build' after 307 μs [10:11:19] Starting 'run'... [10:11:19] Finished 'run' after 187 ms [10:11:19] [nodemon] 1.11.0 [10:11:19] [nodemon] to restart at any time, enter `rs` [10:11:19] [nodemon] watching: *.* [10:11:19] [nodemon] starting `node ./server/server.js config.json` [DEBUG] Listening on 0.0.0.0:3000
Using the IP address of your Pi, type in your browser http://YOUR_PI_ADDRESS:3000
That’s it!. Enjoy the game with your friends!
When you are done, just finish the game hitting
Ctrl+C or in a console type
sudo docker stop my-private-agario
If you want to start again the game just
sudo docker start my-private-agario
I take also the chance with this article to describe what is behind the image
kafebob/rpi-agario. Below is the
Dockerfile that creates the previous container.
Thanks to Docker technology you can extend your Docker image from an existing one and be able to provide more specialized services. Have a look at line 1
FROM kafebob/rpi-alpine-node:8.2.1, the docker image
kafebob/rpi-alpine-node is an Alpine Linux 3.6 with Node 8.2.1 ready to use. I describe a bit about
kafebob/rpi-alpine-node in Dockerizing Node 8 on Raspberry Pi.
kafebob/rpi-alpine-node uses NVM to manage Node versions and is only available through user
From lines 3 to 6 I clone source code from Agario repository and follow the default Node.js workflow to install and execute a node app.
I’m not completely happy about
kafebob/rpi-alpine-node because you need to load NVM every time you use a
CMD. I’m working on a fork from this alpine-node repository to compile Node on your Pi without NVM dependency and to reduce size of the image. Hopefully in some days I will write about it.
This Agario server is an open source project and is not the real one BUT! is a very good clone. I used it as a reference to prove how much you can get from Docker. Once you are done with this container game you just need to delete the container and image and your Pi is going to be clean from any Agario dependency.
To delete image and container
echo "Deleting container ..."