Commit 67baa47ae6d3deb452bef018d98acf2c7e85ea2c

Authored by João Vitor Rebouças
1 parent 1febcc5e
Exists in coppe

Adicionando Dockerfile e modificando conexão ao banco

Dockerfile
... ... @@ -3,36 +3,42 @@ MAINTAINER Jonathan Brilhante
3 3  
4 4 ENV LANG en_US.UTF-8
5 5 ENV LC_ALL en_US.UTF-8
  6 +ENV CONFIGURE_OPTS --disable-install-rdoc
  7 +ENV APP_HOME /myapp
  8 +ENV DEBIAN_FRONTEND=noninteractive
  9 +
  10 +# Install tools & libs to compile everything # Install imagemagick
  11 +RUN apt-get update && \
  12 + apt-get install -y build-essential libssl-dev libreadline-dev imagemagick libmagick++-dev libmagic-dev git-core mysql-client libmysqlclient-dev && \
  13 + apt-get clean && \
  14 + git clone https://github.com/sstephenson/ruby-build.git && \
  15 + cd ruby-build && \
  16 + ./install.sh && \
  17 + ruby-build 2.1.1 /usr/local && \
  18 + gem install bundler && \
  19 + gem install mysql2 && \
  20 + mkdir $APP_HOME && \
  21 + groupadd -r vlibras && \
  22 + useradd -r -g vlibras vlibras && \
  23 + apt-get purge -y build-essential git-core && \
  24 + apt-get clean
6 25  
7   -# Install tools & libs to compile everything
8   -RUN apt-get update && apt-get install -y build-essential libssl-dev libreadline-dev wget && apt-get clean
  26 +WORKDIR $APP_HOME
9 27  
10   -# Install imagemagick
11   -RUN apt-get install -y imagemagick libmagick++-dev libmagic-dev && apt-get clean
  28 +ADD * $APP_HOME/
  29 +RUN bundle install
12 30  
13   -RUN apt-get install -y python-software-properties
  31 +ADD . $APP_HOME
14 32  
15   -# Install ruby-build
16   -RUN apt-get install -y git-core && apt-get clean
17   -RUN git clone https://github.com/sstephenson/ruby-build.git && cd ruby-build && ./install.sh
  33 +COPY ./docker-entrypoint.sh /
18 34  
19   -# Install ruby 2.1.1
20   -ENV CONFIGURE_OPTS --disable-install-rdoc
21   -RUN ruby-build 2.1.1 /usr/local
22   -RUN gem install bundler
  35 +RUN chown -R vlibras. $APP_HOME && chmod +x /docker-entrypoint.sh
23 36  
24   -# Enable insecure key to easily use ssh
25   -RUN /usr/sbin/enable_insecure_key
  37 +USER vlibras
26 38  
27   -#Mysql
28   -RUN apt-get install -y mysql-client libmysqlclient-dev && apt-get clean
29   -RUN gem install mysql2
  39 +EXPOSE 8080
30 40  
31   -ENV APP_HOME /myapp
32   -RUN mkdir $APP_HOME
33   -WORKDIR $APP_HOME
34   -
35   -ADD * $APP_HOME/
36   -RUN bundle install
  41 +VOLUME ["/myapp/log"]
  42 +VOLUME ["/vlibraslportal"]
37 43  
38   -ADD . $APP_HOME
  44 +ENTRYPOINT ["/docker-entrypoint.sh"]
... ...
config/database.yml
... ... @@ -16,7 +16,7 @@ development:
16 16 database: vlibrasvideo
17 17 username: vlibrasuser
18 18 password: vlibraspassword
19   - host: db
  19 + host: vlibrasdb
20 20  
21 21 production:
22 22 adapter: mysql2
... ... @@ -24,4 +24,4 @@ production:
24 24 database: vlibrasvideo
25 25 username: vlibrasuser
26 26 password: vlibraspassword
27   - host: db
  27 + host: vlibrasdb
... ...
docker-compose.yml 0 → 100755
... ... @@ -0,0 +1,38 @@
  1 +version: '2'
  2 +volumes:
  3 + web_data:
  4 + external: true
  5 + driver: 'null'
  6 + web_logs:
  7 + external: true
  8 + driver: 'null'
  9 + db_data:
  10 + external: true
  11 + driver: 'null'
  12 +services:
  13 + web:
  14 + image: hub.docker.planejamento.gov.br/vlibras/portal:coppe
  15 + environment:
  16 + DOMAIN_NAME: b-vlibras-dth-03.brazilsouth.cloudapp.azure.com:80
  17 + VLIBRAS_API: b-vlibras-dth-03.brazilsouth.cloudapp.azure.com:8080
  18 + VLIBRAS_API_URL: http://b-vlibras-dth-03.brazilsouth.cloudapp.azure.com:8080/api/
  19 + volumes:
  20 + - web_data:/vlibraslportal/
  21 + - web_logs:/myapp/log
  22 + links:
  23 + - redis:redis
  24 + - db:db
  25 + labels:
  26 + io.rancher.container.pull_image: always
  27 + db:
  28 + image: mysql:5.5
  29 + environment:
  30 + MYSQL_DATABASE: vlibrasvideo
  31 + MYSQL_PASSWORD: vlibraspassword
  32 + MYSQL_ROOT_PASSWORD: vlibras
  33 + MYSQL_USER: vlibrasuser
  34 + volumes:
  35 + - db_data:/var/lib/mysql
  36 + redis:
  37 + image: capgov/redis:3.2.8
  38 +
... ...
docker-entrypoint.sh 0 → 100755
... ... @@ -0,0 +1,27 @@
  1 +#!/bin/bash
  2 +
  3 +rake db:create db:setup
  4 +
  5 +PID="/myapp/tmp/pids/server.pid"
  6 +
  7 +if [ ! -z "$DATABASE_HOST" ]; then
  8 + sed -i "s/vlibrasdb/$DATABASE_HOST/g" $APP_HOME/config/database.yml
  9 +fi
  10 +
  11 +if [ ! -z "$DATABASE_DB" ]; then
  12 + sed -i "s/vlibrasvideo/$DATABASE_DB/g" $APP_HOME/config/database.yml
  13 +fi
  14 +
  15 +if [ ! -z "$DATABASE_USER" ]; then
  16 + sed -i "s/vlibrasuser/$DATABASE_USER/g" $APP_HOME/config/database.yml
  17 +fi
  18 +
  19 +if [ ! -z "$DATABASE_PASSWORD" ]; then
  20 + sed -i "s/vlibraspassword/$DATABASE_PASSWORD/g" $APP_HOME/config/database.yml
  21 +fi
  22 +
  23 +if [ -f $PID ] ; then
  24 + rm -f $PID
  25 +fi
  26 +
  27 +exec rails server -e production --port 8080 --binding 0.0.0.0
... ...