From 796c14e311321dc4d5360e1503f1c01625adee7f Mon Sep 17 00:00:00 2001 From: Philippe Coval Date: Sat, 21 Jul 2018 21:50:09 +0200 Subject: [PATCH] build: Add Dockerfile to rebuild in container This docker file is a conveinance tool for developers, for production deployment please consider this project: https://github.com/mozilla-iot/gateway-docker Also run-app.sh can be used to start gw, more changes to come later. Usage: docker-compose up Forwarded: https://github.com/mozilla-iot/gateway/pull/1402 Change-Id: Ia082fdcb1b945645ff5c058760dbefed8843eea8 Signed-off-by: Philippe Coval --- .dockerignore | 22 ++++++++++++++++++++++ Dockerfile | 47 ++++++++++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 14 ++++++++++++++ 3 files changed, 83 insertions(+) create mode 100644 .dockerignore create mode 100755 Dockerfile create mode 100755 docker-compose.yml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..3d080677a --- /dev/null +++ b/.dockerignore @@ -0,0 +1,22 @@ +*~ +Dockerfile + +#{ [[./.gitignore]] +# Standard artifacts +*.swp +.DS_Store +.nyc_output/ +.cache-loader/ + +# Build artifacts +/build +node_modules/ +static/js/lib/stm_web.min.js + +# Run-time artifacts +.node-persist/ +config/local.js +static/uploads +.post_upgrade_complete +/browser-test-output +#} [[./.gitignore]] \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100755 index 000000000..1fd9904d2 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,47 @@ +#!/bin/echo docker build . -f +# -*- coding: utf-8 -*- +#{ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/ . +#} +# WARNING: this docker file is *ONLY* for developer convenience +# WARNING: for production deployment please consider supported project: +# WARNING: https://github.com/mozilla-iot/gateway-docker + +FROM debian:stable +LABEL maintainer="p.coval@samsung.com" + +ENV DEBIAN_FRONTEND noninteractive +ENV LC_ALL en_US.UTF-8 +ENV LANG ${LC_ALL} + +RUN echo "#log: Configuring locales" \ + && set -x \ + && apt-get update -y \ + && apt-get install -y locales \ + && echo "${LC_ALL} UTF-8" | tee /etc/locale.gen \ + && locale-gen ${LC_ALL} \ + && dpkg-reconfigure locales \ + && sync + +ENV project mozilla-iot + +RUN echo "#log: ${project}: Setup system" \ + && set -x \ + && apt-get update -y \ + && apt-get install -y \ + sudo \ + && apt-get clean \ + && sync + +ADD . /root/mozilla-iot/gateway +WORKDIR /root/mozilla-iot/gateway/.. +RUN echo "#log: ${project}: Preparing sources" \ + && set -x \ + && ./gateway/install.sh \ + && sync + +EXPOSE 8080 +WORKDIR /root/mozilla-iot/gateway +CMD [ "./run-app.sh" ] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100755 index 000000000..bee045652 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,14 @@ +# WARNING: this docker file is *ONLY* for developer convenience +# WARNING: for production deployment please consider supported project: +# WARNING: https://github.com/mozilla-iot/gateway-docker + +version: "2" + +services: + web: + build: . + command: /root/mozilla-iot/gateway/run-app.sh + volumes: + - /root/mozilla-iot/gateway + ports: + - "8080:8080"