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 | ... | ... |