From ff87fbdc29ed8c7400d86059cca744699f51f38a Mon Sep 17 00:00:00 2001 From: Jeffrey Morgan Date: Wed, 27 Aug 2014 18:18:59 -0700 Subject: [PATCH 1/6] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 750c0d812a..10325b3aa8 100755 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # [Kitematic](https://kitematic.com) -![Kitematic Screenshot](http://kitematic.com/img/screenshot.0c17.png) +![Kitematic Screenshot](https://s3.amazonaws.com/kite-installer/screenshot.5843.png) ## Table of Contents From d0c6939ad62fb425f5c32aa7fe4936b1f677b66b Mon Sep 17 00:00:00 2001 From: Sean Li Date: Thu, 28 Aug 2014 00:39:33 -0700 Subject: [PATCH 2/6] Does not run pulling again if image already exists. --- meteor/server/docker.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/meteor/server/docker.js b/meteor/server/docker.js index 2127ed8be4..3e5228dead 100755 --- a/meteor/server/docker.js +++ b/meteor/server/docker.js @@ -502,7 +502,13 @@ killAndRemoveContainers = function (names, callback) { pullImageFromDockerfile = function (dockerfile, imageId, callback) { var fromImage = getFromImage(dockerfile); console.log('From image: ' + fromImage); - if (fromImage) { + var installedImage = null; + try { + installedImage = getImageDataSync(fromImage); + } catch (e) { + console.error(e); + } + if (fromImage && !installedImage) { Fiber(function () { Images.update(imageId, { $set: { @@ -542,6 +548,8 @@ pullImageFromDockerfile = function (dockerfile, imageId, callback) { callback(null); }); }); + } else { + callback(null); } }; From 188e66209d4c9fb368d0312f76c07ec94453dc75 Mon Sep 17 00:00:00 2001 From: Sean Li Date: Thu, 28 Aug 2014 13:38:18 -0700 Subject: [PATCH 3/6] Added code to check if web port is disabled. --- meteor/collections/apps.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meteor/collections/apps.js b/meteor/collections/apps.js index 9ac599e4ce..7c4373aba0 100755 --- a/meteor/collections/apps.js +++ b/meteor/collections/apps.js @@ -64,6 +64,8 @@ Apps.helpers({ var image = Images.findOne(app.imageId); if (image && image.meta.app && image.meta.app.webPort) { return 'http://' + app.name + '.dev:' + image.meta.app.webPort; + } else if (image && image.meta.app && image.meta.app.webPort === false) { + return null; } else { // Picks the best port if (app.docker && app.docker.NetworkSettings.Ports) { From 937e29fc125cc7b2eec1ca626e039a27feae7d3e Mon Sep 17 00:00:00 2001 From: Sean Li Date: Thu, 28 Aug 2014 19:27:56 -0700 Subject: [PATCH 4/6] Displays host url and ports properly in app settings. --- .../dashboard/apps/dashboard-apps-settings.html | 12 +++++++++++- meteor/collections/apps.js | 15 +++++++++++++++ meteor/server/docker.js | 4 ++-- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/meteor/client/views/dashboard/apps/dashboard-apps-settings.html b/meteor/client/views/dashboard/apps/dashboard-apps-settings.html index fff224a04e..35acdf1dcb 100755 --- a/meteor/client/views/dashboard/apps/dashboard-apps-settings.html +++ b/meteor/client/views/dashboard/apps/dashboard-apps-settings.html @@ -10,9 +10,19 @@
- {{url}} + {{hostUrl}}
+ {{#if ports}} +
+
+ +
+
+ {{ports}} +
+
+ {{/if}}
diff --git a/meteor/collections/apps.js b/meteor/collections/apps.js index 7c4373aba0..3b0ff8b147 100755 --- a/meteor/collections/apps.js +++ b/meteor/collections/apps.js @@ -59,6 +59,21 @@ Apps.helpers({ image: function () { return Images.findOne(this.imageId); }, + hostUrl: function () { + return this.name + '.dev'; + }, + ports: function () { + var app = this; + if (app.docker && app.docker.NetworkSettings.Ports) { + var ports = _.map(_.keys(app.docker.NetworkSettings.Ports), function (portObj) { + var port = parseInt(portObj.split('/')[0], 10); + return port; + }); + return ports.join(', '); + } else { + return null; + } + }, url: function () { var app = this; var image = Images.findOne(app.imageId); diff --git a/meteor/server/docker.js b/meteor/server/docker.js index 3e5228dead..06d52b63c2 100755 --- a/meteor/server/docker.js +++ b/meteor/server/docker.js @@ -94,7 +94,7 @@ runContainer = function (app, image, callback) { if (err) { callback(err, null); return; } console.log('Started container: ' + container.id); // Use dig to refresh the DNS - exec('/usr/bin/dig dig ' + app.name + '.dev @172.17.42.1 ', function(err, out, code) { + exec('/usr/bin/dig dig ' + app.name + '.dev @172.17.42.1 ', function(err, out) { console.log(out); }); callback(null, container); @@ -147,7 +147,7 @@ restartApp = function (app, callback) { callback(null); // Use dig to refresh the DNS - exec('/usr/bin/dig dig ' + app.name + '.dev @172.17.42.1 ', function(err, out, code) { + exec('/usr/bin/dig dig ' + app.name + '.dev @172.17.42.1 ', function(err, out) { console.log(out); }); } else { From 5038b2e5e893214100860a863ad12a91cca92eb3 Mon Sep 17 00:00:00 2001 From: Sean Li Date: Thu, 28 Aug 2014 19:47:13 -0700 Subject: [PATCH 5/6] Fixed crash when deleting old images. --- meteor/server/docker.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/meteor/server/docker.js b/meteor/server/docker.js index 06d52b63c2..67536837ff 100755 --- a/meteor/server/docker.js +++ b/meteor/server/docker.js @@ -596,7 +596,11 @@ buildImage = function (image, callback) { oldImageId = image.docker.Id; } if (oldImageId && oldImageId !== imageData.Id) { - removeImageSync(oldImageId); + try { + removeImageSync(oldImageId); + } catch (e) { + console.error(e); + } } Images.update(image._id, { $set: { From 06c4afec936e2ebefa10ba17b5c73e6f97a99c9b Mon Sep 17 00:00:00 2001 From: Sean Li Date: Thu, 28 Aug 2014 19:52:58 -0700 Subject: [PATCH 6/6] Fixed crash when restarting app. --- meteor/server/docker.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/meteor/server/docker.js b/meteor/server/docker.js index 67536837ff..2394434c16 100755 --- a/meteor/server/docker.js +++ b/meteor/server/docker.js @@ -136,7 +136,11 @@ var getFromImage = function (dockerfile) { restartApp = function (app, callback) { if (app.docker && app.docker.Id) { - restartContainerSync(app.docker.Id); + try { + restartContainerSync(app.docker.Id); + } catch (e) { + console.error(e); + } var containerData = getContainerDataSync(app.docker.Id); Fiber(function () { Apps.update(app._id, {$set: { @@ -145,7 +149,6 @@ restartApp = function (app, callback) { }}); }).run(); callback(null); - // Use dig to refresh the DNS exec('/usr/bin/dig dig ' + app.name + '.dev @172.17.42.1 ', function(err, out) { console.log(out);