Commit 67baa47ae6d3deb452bef018d98acf2c7e85ea2c

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

Adicionando Dockerfile e modificando conexão ao banco

@@ -3,36 +3,42 @@ MAINTAINER Jonathan Brilhante @@ -3,36 +3,42 @@ MAINTAINER Jonathan Brilhante
3 3
4 ENV LANG en_US.UTF-8 4 ENV LANG en_US.UTF-8
5 ENV LC_ALL en_US.UTF-8 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,7 +16,7 @@ development:
16 database: vlibrasvideo 16 database: vlibrasvideo
17 username: vlibrasuser 17 username: vlibrasuser
18 password: vlibraspassword 18 password: vlibraspassword
19 - host: db 19 + host: vlibrasdb
20 20
21 production: 21 production:
22 adapter: mysql2 22 adapter: mysql2
@@ -24,4 +24,4 @@ production: @@ -24,4 +24,4 @@ production:
24 database: vlibrasvideo 24 database: vlibrasvideo
25 username: vlibrasuser 25 username: vlibrasuser
26 password: vlibraspassword 26 password: vlibraspassword
27 - host: db 27 + host: vlibrasdb
docker-compose.yml 0 → 100755
@@ -0,0 +1,38 @@ @@ -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 @@ @@ -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