Commit 67baa47ae6d3deb452bef018d98acf2c7e85ea2c
1 parent
1febcc5e
Exists in
coppe
Adicionando Dockerfile e modificando conexão ao banco
Showing
4 changed files
with
97 additions
and
26 deletions
Show diff stats
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 | ... | ... |
| ... | ... | @@ -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 | + | ... | ... |
| ... | ... | @@ -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 | ... | ... |