Code Monkey home page Code Monkey logo

rails-postgres-docker's Introduction

Rails + Postgres + Docker base

This project contains the minimum structure to build an application with Rails, PostgreSQL and Docker based stack.

Getting started

Before start, make sure that you have Docker and Docker Compose installed on your machine.

First, clone this repo into your local machine:

$ git clone [email protected]:douglasgabriel/rails-postgres-docker.git

Move into the project folder and then create a new Rails skeleton by running:

$ docker-compose run app rails new . --force --no-deps --database=postgresql

You now should be able to see the Rails structure created on the project folder.

For Linux users, since Docker runs as root user, you still need to change the owner of the new folders by running sudo chown -R $USER:$USER .

With the Rails base structure defined, you will need to build your app image by running:

$ docker-compose build

Configuring Database access

To connect the Application with the Database created by Docker it's needed to change the config/database.yml file:

default: &default
  adapter: postgresql
  encoding: unicode
  host: db # this must match the name of the service that you defined on docker-compose.yml
  username: postgres # the default username
  password: root # the password that was defined on docker-compose.yml env vars
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  timeout: 5000

development:
  <<: *default
  database: dev

test:
  <<: *default
  database: test

Running the application

You is now able to run your application by running:

$ docker-compose up app

rails-postgres-docker's People

Contributors

douglasgabriel avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.