diff --git a/server/index.js b/server/index.js
index 32972c429c4b52f92a60d6b1eac06617653a03ac..c07cb55bcd97e902b911571c1802708a0010a648 100644
--- a/server/index.js
+++ b/server/index.js
@@ -14,6 +14,18 @@ const dummyResponse = require('./dummyResponse.json');
 
 const useDummy = false;
 
+let version;
+
+const checkVersion = (newVersion) => {
+  console.log(version !== newVersion ? 'Update code' : '');
+  if (version && version !== newVersion) {
+    const updateServer = spawn(path.resolve(__dirname, '../scripts/update_server.sh'));
+    updateServer.stdout.on('data', (data) => {
+      process.stdout.write(data);
+    });
+  }
+  version = newVersion;
+};
 
 const doScreenApiRequest = (socket, userid = null) => {
   const query = userid ? `?userid=${userid}` : '';
@@ -24,21 +36,20 @@ const doScreenApiRequest = (socket, userid = null) => {
   })
     .then(rawRes => rawRes.json())
     .then((res) => {
+      checkVersion(res.version);
       socket.emit('panel_data', res);
       return res.ttl;
     })
     .catch(console.log);
 };
 
-
 const setChrono = (socket) => {
   if (useDummy) {
-    return interval(() => socket.emit('panel_data', dummyResponse), 0);
+    return interval(() => socket.emit('panel_data', dummyResponse), 10000);
   }
-  return interval(() => doScreenApiRequest(socket), 0);
+  return interval(() => doScreenApiRequest(socket), 10000);
 };
 
-
 io.of('/').on('connection', (socket) => {
   socket.emit('config', { fontSize, rowHeight });