From 633567cf1102b99656fcd7dd8414e5d5ca3d56e0 Mon Sep 17 00:00:00 2001 From: "Michael J. Giarlo" Date: Tue, 24 Sep 2019 08:19:00 -0700 Subject: [PATCH] Revert "Align docker configuration with workflow-service" --- .circleci/config.yml | 9 +++++++-- Dockerfile | 17 +++++------------ docker-compose.yml | 21 +++++++-------------- docker/invoke.sh | 26 -------------------------- 4 files changed, 19 insertions(+), 54 deletions(-) delete mode 100755 docker/invoke.sh diff --git a/.circleci/config.yml b/.circleci/config.yml index 534af9bb8..2f14b6b62 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -17,7 +17,7 @@ jobs: PGUSER: circleci-demo-ruby RAILS_ENV: test NOKOGIRI_USE_SYSTEM_LIBRARIES: true - - image: circleci/postgres:9.6-alpine + - image: circleci/postgres:10 environment: POSTGRES_USER: postgres POSTGRES_DB: dor_services @@ -51,7 +51,12 @@ jobs: paths: - vendor/bundle - - run: sudo apt update && sudo apt install -y postgresql-client || true + # Need `psql` command when you store the app schema as SQL instead of as Ruby + - run: + name: Install postgresql client + command: | + sudo apt update -y + sudo apt install -y postgresql-client || true - run: name: Wait for DB diff --git a/Dockerfile b/Dockerfile index 47a0e777e..5dcc6ac80 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:2.5.3-alpine +FROM ruby:2.5-stretch # Provide SSL defaults that work in dev/test environments where we do not require connections to secured services # These values are overrideable at both buildtime and runtime (hence the ARG/ENV combo). @@ -9,22 +9,15 @@ ENV SETTINGS__SSL__CERT_FILE="${SETTINGS__SSL__CERT_FILE}" ENV SETTINGS__SSL__KEY_FILE="${SETTINGS__SSL__KEY_FILE}" ENV SETTINGS__SSL__KEY_PASS="${SETTINGS__SSL__KEY_PASS}" -# postgresql-client is required for invoke.sh -RUN apk --no-cache add \ - postgresql-dev \ - postgresql-client \ - tzdata +RUN apt-get update -qq && \ + apt-get install -y nano build-essential libsqlite3-dev nodejs RUN mkdir /app WORKDIR /app COPY Gemfile Gemfile.lock ./ - -RUN apk --no-cache add --virtual build-dependencies \ - build-base \ - && bundle install --without production \ - && apk del build-dependencies +RUN bundle install --without production COPY . . -CMD ["./docker/invoke.sh"] +CMD puma -C config/puma.rb diff --git a/docker-compose.yml b/docker-compose.yml index 62afc6c5f..bef09587a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,16 +13,9 @@ services: - workflow - redis - workers - - db ports: - 3000:3000 environment: - DATABASE_NAME: dor_services - DATABASE_USERNAME: postgres - DATABASE_PASSWORD: sekret - DATABASE_HOSTNAME: db - DATABASE_PORT: 5432 - RAILS_LOG_TO_STDOUT: 'true' REDIS_URL: redis://redis:6379/ SOLR_URL: http://solr:8983/solr/dorservices SETTINGS__SSL__CERT_FILE: /app/spec/support/certs/spec.crt @@ -76,14 +69,14 @@ services: ports: - 3001:3000 environment: - DATABASE_NAME: workflow-server - DATABASE_USERNAME: postgres - DATABASE_PASSWORD: sekret - DATABASE_HOSTNAME: db - DATABASE_PORT: 5432 - SETTINGS__REDIS__HOSTNAME: redis + - DATABASE_NAME=workflow-server + - DATABASE_USERNAME=postgres + - DATABASE_PASSWORD=sekret + - DATABASE_HOSTNAME=db + - DATABASE_PORT=5432 + - SETTINGS__REDIS__HOSTNAME=redis db: - image: postgres:9.5-alpine + image: postgres:10 ports: - 5432:5432 environment: diff --git a/docker/invoke.sh b/docker/invoke.sh deleted file mode 100755 index d35e7173b..000000000 --- a/docker/invoke.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh - -# Don't allow this command to fail -set -e - -echo "HOST IS: $DATABASE_HOSTNAME" -until PGPASSWORD=$DATABASE_PASSWORD psql -h "$DATABASE_HOSTNAME" -U $DATABASE_USERNAME -c '\q'; do - echo "Postgres is unavailable - sleeping" - sleep 1 -done - -echo "Postgres is up - Setting up database" - -# Allow this command to fail -set +e -echo "Creating DB. OK to ignore errors about test db." -# https://github.com/rails/rails/issues/27299 -rails db:create - -# Don't allow any following commands to fail -set -e -echo "Migrating db" -rails db:migrate - -echo "Running server" -exec puma -C config/puma.rb config.ru