Skip to content

Instantly share code, notes, and snippets.

@jcarley
Last active December 12, 2017 02:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jcarley/4974237ef5dccf51958b58ab53214adc to your computer and use it in GitHub Desktop.
Save jcarley/4974237ef5dccf51958b58ab53214adc to your computer and use it in GitHub Desktop.
{
"presets": [
["env", {
"modules": false,
"targets": {
"browsers": "> 1%",
"uglify": true
},
"useBuiltIns": true
}]
],
"env": {
"test": {
"presets": ["es2015",
["env", {
"modules": false,
"targets": {
"browsers": "> 1%",
"uglify": true
},
"useBuiltIns": true
}]
]
}
},
"plugins": [
"syntax-dynamic-import",
"transform-object-rest-spread",
["transform-class-properties", { "spec": true }],
["transform-runtime", { "polyfill": false, "regenerator": true }]
]
}
export SHELL='/bin/bash'
export LS_OPTIONS='--color=auto'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'
alias be='bundle exec'
default: &default
adapter: postgresql
encoding: unicode
host: db
username: admin
password: admin_password
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
development:
<<: *default
database: myapp_development
test:
<<: *default
database: myapp_test
production:
<<: *default
database: myapp_production
username: myapp_admin
password: <%= ENV['MYAPP_DATABASE_PASSWORD'] %>
version: '3'
services:
db:
image: postgres:9.5.3
ports:
- "5432:5432"
environment:
- TERM=xterm
- POSTGRES_PASSWORD=admin_password
- POSTGRES_USER=admin
- POSTGRES_DB=mycrm_development
web:
build: .
volumes:
- .:/usr/src/app:delegated
working_dir: /usr/src/app
environment:
RAILS_ENV: development
NODE_ENV: development
ports:
- "3000:3000"
depends_on:
- db
shell:
build: .
command: /bin/bash
volumes:
- .:/usr/src/app:delegated
working_dir: /usr/src/app
environment:
RAILS_ENV: development
NODE_ENV: development
stdin_open: true
tty: true
ports:
- "3000:3000"
depends_on:
- db
#!/usr/bin/env bash
log() {
echo -e "## $(date +%FT%H:%M:%S%z) ${0} ${@}"
}
log "Initializing container..."
log "Running bundle install ..."
bundle install --jobs 4 && log "Finished installing new gems."
log "Environment:" && env | sort
log "RAILS_ENV=${RAILS_ENV}"
cd /usr/src/app
log "Clearing tmp ..."
bundle exec rails tmp:clear
rm /usr/src/app/tmp/pids/server.pid
log "Starting foreman ..."
bundle exec foreman start
FROM ruby:2.4.2
ENV DEBIAN_FRONTEND noninteractive
ENV TERM xterm
ADD bashrc /root/.bashrc
RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" >> /etc/apt/sources.list.d/pgdg.list && \
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
RUN apt-get -qqy update && \
apt-get install -qqy --no-install-recommends \
ca-certificates \
curl \
dnsutils \
git \
jq \
libgsf-1-dev \
lsb-release \
lsof \
net-tools \
netcat \
procps \
traceroute \
unzip \
vim \
wget \
postgresql-client-9.6 \
&& curl -s https://raw.githubusercontent.com/h2non/bimg/master/preinstall.sh | bash - \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
RUN apt-get install -y nodejs
RUN npm i -g yarn
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
RUN bundle config --global frozen 0
COPY Gemfile /usr/src/app/
COPY Gemfile.lock /usr/src/app/
RUN bundle install
COPY . /usr/src/app
ADD docker-entrypoint.sh /usr/src/app/docker-entrypoint.sh
RUN chmod +x /usr/src/app/docker-entrypoint.sh
CMD ["/usr/src/app/docker-entrypoint.sh"]
source 'https://rubygems.org'
gem 'rails', '5.1.4'
{
"name": "myapp",
"private": true,
"dependencies": {
"@rails/webpacker": "^3.0.2",
"bootstrap": "^3.3.7",
"vue": "^2.5.3",
"vue-loader": "^13.5.0",
"vue-template-compiler": "^2.5.3"
},
"devDependencies": {
"webpack-dev-server": "^2.9.4"
},
"scripts": {
"start:dev": "webpack-dev-server --config config/webpack/development.js"
}
}
rails: bundle exec rails s -p 3000 -b '0.0.0.0'
webpack: yarn run start:dev
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment