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,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 |
@@ -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 | + |
@@ -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 |