From b9bde40edc12e8433fd8ae09b65ec7825da78ed2 Mon Sep 17 00:00:00 2001 From: sam Date: Sat, 14 May 2022 17:20:04 +0430 Subject: [PATCH] add docker --- Dockerfile | 21 +++++++++++++++++++++ app.env | 0 db/seeds.rb | 4 ++-- docker-compose.yml | 31 +++++++++++++++++++++++++++++++ 4 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 Dockerfile create mode 100644 app.env create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ac51b7b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +FROM ruby:2.7.1 + +LABEL maintainer="Radin " + +RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - && \ + echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \ + curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ + apt-get update -qq && \ + apt-get install -y vim nodejs sqlite3 libsqlite3-dev yarn && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +RUN mkdir /app +WORKDIR /app + +COPY Gemfile* package.json yarn.lock /app/ + +RUN gem install bundler -v 2.1.4 && \ + bundle install --jobs 20 + +COPY . /app \ No newline at end of file diff --git a/app.env b/app.env new file mode 100644 index 0000000..e69de29 diff --git a/db/seeds.rb b/db/seeds.rb index 24d9a35..95fb02a 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -5,7 +5,7 @@ # # movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }]) # Character.create(name: 'Luke', movie: movies.first) -if Rails.env.development? - AdminUser.create!(email: 'admin@example.com', password: 'password', password_confirmation: 'password') +unless AdminUser.find_by(email: 'bijan@example.com') AdminUser.create!(email: 'bijan@example.com', password: '1234567890', password_confirmation: '1234567890') end + diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..cb449c8 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,31 @@ +version: '3' + +volumes: + bundle: + db: + +services: + db: + image: nouchka/sqlite3:latest + volumes: + - db:/root/db + stdin_open: true + tty: true + + web: &rails + build: + context: . + dockerfile: Dockerfile + command: bash -c "rm -f tmp/pids/server.pid && bundle exec rake db:create db:migrate db:seed && bundle exec rails s -b '0.0.0.0'" + volumes: + - .:/app + - bundle:/usr/local/bundle + - ./node_modules:/app/node_modules + tmpfs: /app/tmp + depends_on: + - db + env_file: app.env + tty: true + stdin_open: true + ports: + - "3000:3000" \ No newline at end of file