From 88afe50ff1d26c85df68cc8cc95102ca5609f9bf Mon Sep 17 00:00:00 2001 From: root Date: Fri, 3 Nov 2017 19:46:05 +0000 Subject: [PATCH] first commit --- .babelrc | 3 +++ .bowerrc | 3 +++ .dockerignore | 3 +++ .gitignore | 49 +++++++++++++++++++++++++++++++++++++++++++++++ Dockerfile | 37 +++++++++++++++++++++++++++++++++++ docker/entrypoint | 18 +++++++++++++++++ 6 files changed, 113 insertions(+) create mode 100644 .babelrc create mode 100644 .bowerrc create mode 100644 .dockerignore create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100755 docker/entrypoint diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..002b4aa --- /dev/null +++ b/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": ["env"] +} diff --git a/.bowerrc b/.bowerrc new file mode 100644 index 0000000..041a6dc --- /dev/null +++ b/.bowerrc @@ -0,0 +1,3 @@ +{ + "allow_root": true +} diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..ea08119 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +# git +.git/ +.gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bf7ec85 --- /dev/null +++ b/.gitignore @@ -0,0 +1,49 @@ +# See https://help.github.com/articles/ignoring-files for more about ignoring files. +# +# If you find yourself ignoring temporary files generated by your text editor +# or operating system, you probably want to add a global ignore instead: +# git config --global core.excludesfile '~/.gitignore_global' + +# OS & IDE +.DS_Store + +# Ignore bundler config. +/.bundle + +# Ignore all logfiles and tempfiles. +/log/* +!/log/.keep +/tmp + +/config/cap.yml + +/app/assets/templates/generated/ + +# Ignore bower components +/vendor/assets/bower_components/ +/node_modules +/vendor/assets/javascripts/app.js +/vendor/assets/javascripts/compiled.js +/vendor/assets/javascripts/transpiled.js +vendor/assets/javascripts/transpiled.js.map +/vendor/assets/javascripts/compiled.min.js +/vendor/assets/javascripts/lib.js +/vendor/assets/javascripts/templates.js + +/vendor/assets/stylesheets/app.css +/vendor/assets/stylesheets/app.css.map + +/.sass-cache + +# Ignore ENV variables config +.env +.ssh + +dump.rdb + +# Ignore compiled assets +/public/assets + +# Ignore user uploads +/public/uploads/* +!/public/uploads/.keep diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5def336 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,37 @@ +FROM node:6-alpine + +RUN apk -U upgrade \ + && apk add -t build-dependencies \ + git \ + curl-dev \ + wget \ + ruby-dev \ + build-base \ + && apk add \ + tzdata \ + ruby \ + ruby-io-console \ + ruby-json \ + ruby-bigdecimal \ + && git clone https://github.com/standardnotes/web.git /standardnotes \ + && gem install -N rails --version "$RAILS_VERSION" \ + && echo 'gem: --no-document' >> ~/.gemrc \ + && cp ~/.gemrc /etc/gemrc \ + && chmod uog+r /etc/gemrc \ + && rm -rf ~/.gem \ + && cd /standardnotes \ + && bundle config --global silence_root_warning 1 \ + && bundle install --system \ + && npm install \ + && npm install -g bower grunt \ + && bundle exec rake bower:install \ + && grunt \ + && apk del build-dependencies \ + && rm -rf /tmp/* /var/cache/apk/* /tmp/* /root/.gnupg /root/.cache/ /standardnotes/.git + +COPY docker /docker + +EXPOSE 3000 +ENTRYPOINT ["/docker/entrypoint"] +CMD ["start"] + diff --git a/docker/entrypoint b/docker/entrypoint new file mode 100755 index 0000000..e26487a --- /dev/null +++ b/docker/entrypoint @@ -0,0 +1,18 @@ +#!/usr/bin/env sh +CMD=$1 + +case "$CMD" in + 'start' ) + echo `pwd` + rm -f /data/src/tmp/pids/server.pid + cd /standardnotes/ + bundle exec rails s -b 0.0.0.0 + ;; + + * ) + # Run custom command. Thanks to this line we can still use + # "docker run our_image /bin/bash" and it will work + exec "$@" + ;; +esac +