Skip to content

levankhelo/robocode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Prerequisites

MacOS

We will need to get xhost and socat to run GUI display from container

TL;DR

if ! command -v xquartz > /dev/null; then brew install xquartz;  else echo "Xquartz already installed"; fi

if ! command -v socat > /dev/null; then brew install socat; else echo "SOCAT already installed"; fi

osascript -e 'tell application "Terminal" to do script "socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\\\"$DISPLAY\\\""'

export ROBOCODE_LOCAL_IP=$(ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1')

docker-compose up --build

Install X11

brew install xquartz;

After installation, Open up xquartz using command xquartz or icon click, then:
XQUARTZ > Preferences > Security > Allow connections from network clients > ✅ (check)

Install SOCAT

brew install socat;

Run Socat

osascript -e 'tell application "Terminal" to do script "socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\""'

Configure variables for container

export ROBOCODE-LOCAL-IP=$(ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1')

Build Docker image

Make sure docker service is running

docker-compose build

Run docker image

docker-compose up

or docker-compose up --build