diff --git a/pom.xml b/pom.xml
index 23b60c4aee23c3ab7800974807e16a9bb2b09418..d216ba5b67268d8b626e76c7dc31e24beb87af70 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,8 +35,9 @@
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.build.testSourceDirectory>src/test/java</project.build.testSourceDirectory>
     <protobuf.version>3.14.0</protobuf.version>
-    <grpc.version>1.35.0</grpc.version>
+    <grpc.version>1.38.1</grpc.version>
     <netty-tcnative.version>2.0.34.Final</netty-tcnative.version>
+    <restlet.version>2.4.3</restlet.version>
   </properties>
   <repositories>
     <repository>
@@ -55,6 +56,11 @@
     </repository>
   </repositories>
   <dependencies>
+    <dependency>
+      <groupId>io.grpcweb</groupId>
+      <artifactId>grpcweb-java</artifactId>
+      <version>0.1-SNAPSHOT</version>
+    </dependency>
     <dependency>
       <groupId>de.timmfitschen</groupId>
       <artifactId>easy-units</artifactId>
@@ -96,12 +102,12 @@
     <dependency>
       <groupId>org.restlet.jse</groupId>
       <artifactId>org.restlet</artifactId>
-      <version>2.3.12</version>
+      <version>${restlet.version}</version>
     </dependency>
     <dependency>
       <groupId>org.restlet.jse</groupId>
       <artifactId>org.restlet.ext.fileupload</artifactId>
-      <version>2.3.12</version>
+      <version>${restlet.version}</version>
     </dependency>
     <dependency>
       <groupId>mysql</groupId>
@@ -131,7 +137,7 @@
     <dependency>
       <groupId>org.restlet.jse</groupId>
       <artifactId>org.restlet.ext.jetty</artifactId>
-      <version>2.3.12</version>
+      <version>${restlet.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.commons</groupId>
diff --git a/src/main/java/org/caosdb/server/grpc/GRPCServer.java b/src/main/java/org/caosdb/server/grpc/GRPCServer.java
index 51c061fa56671100fbc6ec460476ecc16c5a2ce4..1fd965047eff71db02bdfd6394386d4625ca3703 100644
--- a/src/main/java/org/caosdb/server/grpc/GRPCServer.java
+++ b/src/main/java/org/caosdb/server/grpc/GRPCServer.java
@@ -24,6 +24,8 @@ import io.grpc.ServerInterceptors;
 import io.grpc.ServerServiceDefinition;
 import io.grpc.netty.GrpcSslContexts;
 import io.grpc.netty.NettyServerBuilder;
+import io.grpcweb.GrpcPortNumRelay;
+import io.grpcweb.JettyWebserverForGrpcwebTraffic;
 import io.netty.handler.ssl.ApplicationProtocolConfig;
 import io.netty.handler.ssl.ApplicationProtocolConfig.Protocol;
 import io.netty.handler.ssl.ApplicationProtocolConfig.SelectedListenerFailureBehavior;
@@ -198,6 +200,12 @@ public class GRPCServer {
           ServerProperties.KEY_GRPC_SERVER_PORT_HTTP,
           ServerProperties.KEY_GRPC_SERVER_PORT_HTTPS);
     }
+
+    // Start the grpc-web proxy on grpc-web-port.
+    (new JettyWebserverForGrpcwebTraffic(9443)).start();
+
+    // grpc-web proxy needs to know the grpc-port# so it could connect to the grpc service.
+    GrpcPortNumRelay.setGrpcPortNum(8080);
   }
 
   private static class ServerStopper implements Runnable {