diff --git a/Dockerfile b/Dockerfile
index ffdc3d7..6ef9f83 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -13,6 +13,7 @@ RUN apk add --no-cache \
     libxext \
     libssl3 \
     ca-certificates \
+    docker \
     fontconfig \
     freetype \
     ttf-dejavu \
diff --git a/compose.yml b/compose.yml
index 17bcf22..70d21ba 100644
--- a/compose.yml
+++ b/compose.yml
@@ -2,10 +2,14 @@ services:
   snek:
     build: .
     restart: always
+    privileged: true
     ports:
       - "8081:8081"
     volumes:
       - ./:/code
+      - /media/storage/snek/molodetz.nl/drive:/code/drive
+      - /var/run/docker.sock:/var/run/docker.sock
+      - /media/storage/snek/molodetz.nl/drive:/drive
     environment:
      - PYTHONDONTWRITEBYTECODE=1
      - PYTHONUNBUFFERED=1
diff --git a/src/snek/app.py b/src/snek/app.py
index e1f74e2..a7bc195 100644
--- a/src/snek/app.py
+++ b/src/snek/app.py
@@ -37,7 +37,7 @@ from snek.view.upload import UploadView
 from snek.view.search_user import SearchUserView 
 from snek.view.avatar import AvatarView
 from snek.system.profiler import profiler_handler
-
+from snek.view.terminal import TerminalView, TerminalSocketView
 
 SESSION_KEY = b"c79a0c5fda4b424189c427d28c9f7c34"
 
@@ -115,6 +115,8 @@ class Application(BaseApplication):
         self.router.add_get("/rpc.ws", RPCView)
         self.router.add_view("/channel/{channel}.html", WebView)
         self.router.add_view("/threads.html", ThreadsView)
+        self.router.add_view("/terminal.ws", TerminalSocketView)
+        self.router.add_view("/terminal.html", TerminalView)
 
         self.add_subapp(
             "/docs",