diff --git a/.github/workflows/lint-test-build.yml b/.github/workflows/lint-test-build.yml
index 30371dc10..cfdf0ed3d 100644
--- a/.github/workflows/lint-test-build.yml
+++ b/.github/workflows/lint-test-build.yml
@@ -170,6 +170,16 @@ jobs:
         with:
           install: true
       - run: docker build .
+      - run: |
+          docker build --quiet --load . | \
+            xargs docker run --detach --publish 8080:8080
+          timeout=120
+          while ! curl http://localhost:8080
+          do
+            [ $timeout -eq 0 ] && exit 1
+            sleep 1
+            timeout=$((timeout - 1))
+          done
 
   build-cli:
     needs: [build-lib, build-lib-node, build-server]
diff --git a/Dockerfile b/Dockerfile
index db8a55040..72d76700d 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -25,11 +25,7 @@ COPY --link --from=builder /disco/package*.json /disco/
 COPY --link --from=builder /disco/discojs/package.json discojs/
 COPY --link --from=builder /disco/discojs-node/package.json discojs-node/
 COPY --link --from=builder /disco/server/package.json server/
-RUN npm \
-	--workspace=discojs \
-	--workspace=discojs-node \
-	--workspace=server \
-	--omit=dev ci
+RUN npm --omit=dev ci
 
 COPY --link --from=builder /disco/discojs/dist/ discojs/dist/
 COPY --link --from=builder /disco/discojs-node/dist/ discojs-node/dist/
diff --git a/with_server b/with_server
deleted file mode 100755
index d40d8f32c..000000000
--- a/with_server
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/bash -eu
-set -o pipefail
-
-readonly PORT=8080
-
-# prebuild to show progress
-DIR="$( cd "$( dirname "$0" )" ; pwd -P )"
-
-docker build $DIR
-
-container=$(
-	docker build --quiet $DIR |
-		xargs docker run --rm --detach --publish $PORT:$PORT
-)
-cleanup() {
-	docker stop $container >/dev/null
-}
-trap cleanup EXIT
-
-COUNTER=0
-TIMEOUT=1200 # 2 min timeout 10 units == 1 sec
-
-while ! curl --silent http://localhost:$PORT >/dev/null
-do
-	sleep 0.1
-  let COUNTER=COUNTER+1
-  if [[ "$COUNTER" == "$TIMEOUT" ]]
-  then
-    break
-  fi
-done
-
-$@