Last active
March 3, 2024 10:15
-
-
Save davidderus/5845223ad87144c6c07ee48111d48496 to your computer and use it in GitHub Desktop.
Revisions
-
davidderus revised this gist
Oct 10, 2017 . 1 changed file with 2 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -17,7 +17,8 @@ RUN apk add --no-cache \ tzdata \ git \ postgresql-dev \ nodejs \ imagemagick # Configuring main directory RUN mkdir -p $APP_PATH -
davidderus revised this gist
Oct 6, 2017 . 2 changed files with 52 additions and 23 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,11 +1,18 @@ .git .gitignore /doc .yardoc coverage jsdoc /tmp /log Dockerfile Dockerfile.prod docker-compose.yml README.md /public/uploads /test/reports .env .envrc .byebug_history .rake_tasks This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,21 +1,43 @@ # From one of the official ruby images FROM ruby:2.4.1-alpine # Available (and reused) args # Use --build-arg APP_PATH=/usr/app to use another app directory # Use --build-arg PORT=5000 to use another app default port ARG APP_PATH='/app' ARG PORT=3000 # Setting env up ENV RAILS_ENV='production' ENV RAKE_ENV='production' # Installing required packages RUN apk add --no-cache \ build-base \ tzdata \ git \ postgresql-dev \ nodejs # Configuring main directory RUN mkdir -p $APP_PATH WORKDIR $APP_PATH # Adding gems COPY Gemfile* ./ RUN bundle install --jobs 20 --retry 5 --without development test # Adding project files COPY . ./ RUN bundle exec rake DATABASE_URL=postgres:does_not_exist assets:precompile EXPOSE $PORT CMD ["bundle", "exec", "puma", "-C", "config/puma.rb"] # Metadata LABEL org.label-schema.vendor="David Dérus" \ org.label-schema.url="https://davidderus.com" \ org.label-schema.name="RailsApp" \ org.label-schema.description="A Rails production server using Puma and precompiling assets" \ org.label-schema.version="v1.1.0" \ org.label-schema.docker.schema-version="1.0" -
davidderus created this gist
Jul 8, 2016 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,11 @@ .git .gitignore doc .yardoc coverage jsdoc tmp log README.md public/uploads/ spec This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,21 @@ FROM ruby:2.3.1-slim RUN apt-get update && apt-get install -qq -y build-essential RUN apt-get install -y libpq-dev RUN apt-get install -y --fix-missing libxml2-dev libxslt1-dev RUN apt-get install -y nodejs ENV INSTALL_PATH /app ENV RAILS_ENV production ENV RACK_ENV production RUN mkdir $INSTALL_PATH WORKDIR $INSTALL_PATH COPY Gemfile* $INSTALL_PATH/ RUN bundle install --jobs 20 --retry 5 --without development test COPY . $INSTALL_PATH This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,26 @@ app: env_file: .env build: . entrypoint: bundle exec command: rails server -p 3000 volumes: - .:/app ports: - "3000" links: - postgres postgres: env_file: .env image: postgres:9.4 ports: - "5432" nginx: image: nginx links: - app volumes_from: - app volumes: - ./nginx.conf:/etc/nginx/conf.d/my_app.conf:ro ports: - "80:80" This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,58 @@ # From http://chrisstump.online/2016/02/20/docker-existing-rails-application/ upstream puma { server app:3000; } server { # define your domain server_name my_app.com; # define the public application root root /app/public; index index.html; # define where Nginx should write its logs access_log /app/log/nginx.access.log; error_log /app/log/nginx.error.log; # deny requests for files that should never be accessed location ~ /\. { deny all; } location ~* ^.+\.(rb|log)$ { deny all; } # serve static (compiled) assets directly if they exist (for rails production) location ~ ^/(assets|images|javascripts|stylesheets|swfs|system)/ { try_files $uri @rails; access_log off; gzip_static on; # to serve pre-gzipped version expires max; add_header Cache-Control public; # Some browsers still send conditional-GET requests if there's a # Last-Modified header or an ETag header even if they haven't # reached the expiry date sent in the Expires header. add_header Last-Modified ""; add_header ETag ""; break; } # send non-static file requests to the app server location / { try_files $uri @rails; } location @rails { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://puma; } }