diff --git a/.dockerignore b/.dockerignore
index 26df1758..d0c628b4 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -2,3 +2,4 @@
 .gitignore
 Dockerfile
 README.md
+docker-compose.yml
diff --git a/README.md b/README.md
index dd322882..902581aa 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@ PID="$!"
 
 xhost local:root
 
-sudo docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -v /tmp/.virgl_test:/tmp/.virgl_test -v ~/.minecraft-pi:/root/.minecraft -e DISPLAY=unix${DISPLAY} thebrokenrail/minecraft-pi
+sudo docker run -v /tmp/.X11-unix:/tmp/.X11-unix -v /tmp/.virgl_test:/tmp/.virgl_test -v ~/.minecraft-pi:/root/.minecraft -e DISPLAY=unix${DISPLAY} thebrokenrail/minecraft-pi
 
 kill "${PID}"
 ```
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 00000000..49308951
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,10 @@
+version: '3.7'
+services:
+    minecraft-pi:
+        image: thebrokenrail/minecraft-pi
+        volumes:
+            - '/tmp/.X11-unix:/tmp/.X11-unix'
+            - '/tmp/.virgl_test:/tmp/.virgl_test'
+            - '~/.minecraft-pi:/root/.minecraft'
+        environment:
+            - 'DISPLAY=unix${DISPLAY}'
diff --git a/run.sh b/run.sh
index 7fdc95c2..7bf984a2 100755
--- a/run.sh
+++ b/run.sh
@@ -7,6 +7,6 @@ PID="$!"
 
 xhost local:root
 
-sudo docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -v /tmp/.virgl_test:/tmp/.virgl_test -v ~/.minecraft-pi:/root/.minecraft -e DISPLAY=unix${DISPLAY} thebrokenrail/minecraft-pi
+sudo docker-compose up
 
 kill "${PID}"