rails_template/README.md

70 lines
2.3 KiB
Markdown

# Rails 6 template
This repo is a designed to be a Dockerized Rails 6 template:
- [Docker](https://docs.docker.com/mac/started/)
- [Rails 6](https://rubyonrails.org/)
- [StimulusJS](https://github.com/stimulusjs/stimulus)
- [Bulma](https://bulma.io/documentation)
- [ActiveAdmin](https://activeadmin.info/)
- [Devise](https://github.com/heartcombo/devise)
## Setup
- `bundle update`
- `Download latest copy of FontAwesome and replace vendor/fontawesome-pro/** (npm auth access has expired)`
- `yarn install --check-files`
- `Find/replace all TODO`
- `docker-compose up --build`
- `docker-compose run app rails db:setup`
### Dependencies
This service has dependencies on the following services.
1. Ruby 2.6.5
1. Rails 6.x
1. Postgres
1. Redis
1. Webpacker
1. Yarn
1. [Stimulus](https://stimulusjs.org/handbook/installing#using-webpack)
### Docker
Follow the Docker [Getting Started](https://docs.docker.com/mac/started/) guide to get `docker`, `docker-machine` and `docker-compose`. This project contains helper scripts to build, test, & push images to dockerhub.
~~1. Build image: `$ script/build`~~
1. Run the test suite: `$ script/test`
### Docker Compose
Docker compose is used for Jenkins and local development. Use the information below to configure each environment.
##### Local development
To start the application using docker compose locally:
1. Start the services: `$ docker-compose up --build`
1. Access via browser: `$ open http://localhost:3000`
### Environment Variables
| Variable | Description | Default |
| ---------------|:---------------|:-----------------------:|
| `APP_NAME` | App name | app
| `APP_TITLE` | App title | TODO
| `DATABASE_URL` | Database URL | postgres://localhost:5432/app_development
| `DB_CONNECT_TIMEOUT` | Db connect timeout | 10
| `DB_MAX_CONNECTIONS` | Db Max Connections | 16
| `DB_MIN_CONNECTIONS` | Db Minimum Connections | 5
| `DB_SOCKET_TIMEOUT` | Db socket timeout | 5
| `DB_WAIT_QUEUE_TIMEOUT` | Db Wait queue timeout | 5
| `LOG_LEVEL` | Log level | warn
| `REDIS_URL` | Redis Url | redis://localhost:6379/0
| `SMTP_HOST` | Smpt address | `localhost`
| `SMTP_PORT` | Smpt port | 1025
| `WEBPACKER_HOST` | Webpacker host | `localhost`
| `WEBPACKER_DEV_SERVER_HOST` | Webpacker dev host | `0.0.0.0`
### TODO
- [ ] Heroku Procfile