add docker-compose support
This commit is contained in:
parent
11bae37cc4
commit
419233f9f8
5 changed files with 95 additions and 0 deletions
28
Dockerfile
Normal file
28
Dockerfile
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
FROM opensuse:42.1
|
||||
RUN zypper -q -n --non-interactive install update-alternatives ruby-devel make gcc gcc-c++ libxml2 libxml2-devel libxslt-devel nodejs screen libmysqld-devel sqlite3-devel imagemagick
|
||||
|
||||
ENV APP_HOME /osem
|
||||
RUN mkdir $APP_HOME
|
||||
WORKDIR $APP_HOME
|
||||
|
||||
ADD Gemfile* $APP_HOME/
|
||||
COPY Gemfile Gemfile
|
||||
COPY Gemfile.lock Gemfile.lock
|
||||
|
||||
RUN echo 'install: --no-format-executable' >> /etc/gemrc
|
||||
RUN gem install bundler
|
||||
RUN gem install nokogiri -v '1.6.7.2' -- --use-system-libraries
|
||||
RUN bundle install
|
||||
RUN gem install tzinfo
|
||||
RUN gem install tzinfo-data
|
||||
|
||||
ADD . $APP_HOME
|
||||
ADD config/database.yml.example config/database.yml
|
||||
ADD config/config.yml.example config/config.yml
|
||||
ADD config/secrets.yml.example config/secrets.yml
|
||||
RUN touch db/production.sqlite3
|
||||
RUN touch db/development.sqlite3
|
||||
RUN touch db/test.sqlite3
|
||||
|
||||
EXPOSE 8080
|
||||
CMD rake db:create && rake db:migrate && rails:update:bin && rails s -p 8080 -b '0.0.0.0'
|
||||
3
Gemfile
3
Gemfile
|
|
@ -56,6 +56,9 @@ gem 'sass-rails', '>= 4.0.2'
|
|||
# as compressor for JavaScript assets
|
||||
gem 'uglifier', '>= 1.3.0'
|
||||
|
||||
# for correct time zones at some environments
|
||||
gem 'tzinfo-data'
|
||||
|
||||
# as the front-end framework
|
||||
gem 'bootstrap-sass', '~> 3.3.4.1'
|
||||
gem 'autoprefixer-rails'
|
||||
|
|
|
|||
|
|
@ -464,6 +464,8 @@ GEM
|
|||
coffee-rails
|
||||
tzinfo (1.2.2)
|
||||
thread_safe (~> 0.1)
|
||||
tzinfo-data (1.2016.3)
|
||||
tzinfo (>= 1.0.0)
|
||||
uglifier (2.5.0)
|
||||
execjs (>= 0.3.0)
|
||||
json (>= 1.8.0)
|
||||
|
|
@ -574,8 +576,12 @@ DEPENDENCIES
|
|||
timecop
|
||||
transitions
|
||||
turbolinks
|
||||
tzinfo-data
|
||||
uglifier (>= 1.3.0)
|
||||
unobtrusive_flash (>= 3)
|
||||
web-console (~> 2.0)
|
||||
webmock
|
||||
whenever
|
||||
|
||||
BUNDLED WITH
|
||||
1.11.2
|
||||
|
|
|
|||
51
INSTALL.md
51
INSTALL.md
|
|
@ -52,6 +52,57 @@ You can access the app [localhost:3000](http://localhost:3000). Whatever you cha
|
|||
```
|
||||
vagrant exec rake db:migrate
|
||||
```
|
||||
### Run OSEM in Docker containter using Docker Compose tool
|
||||
|
||||
1. Install [Docker](https://docs.docker.com/linux/step_one/) and [Docker-Compose](https://docs.docker.com/compose/install/). It is better run on Linux, but you can run it on MacOS or Windows with Docker-Machine. Don't forget to add your user to ```docker``` group.
|
||||
|
||||
2. Clone this code repository:
|
||||
|
||||
```
|
||||
git clone https://github.com/openSUSE/osem.git
|
||||
```
|
||||
|
||||
3. Change current directory to OSEM project:
|
||||
|
||||
```
|
||||
cd osem/
|
||||
```
|
||||
|
||||
4. Start building your OSEM rails app container:
|
||||
|
||||
```
|
||||
docker-compose build
|
||||
```
|
||||
|
||||
5. Run your OSEM rails app container for the first time:
|
||||
|
||||
```
|
||||
docker-compose up
|
||||
```
|
||||
|
||||
6. In another terminal change directory to your OSEM rails app and make a create db and make migrations:
|
||||
|
||||
```
|
||||
docker-compose run web rake db:create db:migrate
|
||||
```
|
||||
|
||||
7. Press ```Ctrl-C``` in previous terminal to stop running container and start container again:
|
||||
|
||||
```
|
||||
docker-compose start
|
||||
```
|
||||
|
||||
8. Check that new OSEM rails app container is running:
|
||||
|
||||
```
|
||||
docker-compose ps
|
||||
```
|
||||
|
||||
9. Now you can look at browser by passing url ```http:\\localhost:8080\```. Stop container with
|
||||
|
||||
```
|
||||
docker-compose stop
|
||||
```
|
||||
|
||||
**Note**: We use [letter_opener](https://github.com/ryanb/letter_opener) in development environment.
|
||||
However, letter_opener uses launchy to present the emails in your browser which doesn't work in combination with Vagrant.
|
||||
|
|
|
|||
7
docker-compose.yml
Normal file
7
docker-compose.yml
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
web:
|
||||
build: .
|
||||
command: bash -c "bundle exec rails s -p 8080 -b '0.0.0.0'"
|
||||
volumes:
|
||||
- ./:/osem
|
||||
ports:
|
||||
- "8080:8080"
|
||||
Loading…
Add table
Add a link
Reference in a new issue