Instalação i-diário - Ubuntu 18.04

Instalação i-diário comunidade

Requisitos:

Instalação:

Execute os seguintes comandos para copiar o projeto para seu servidor:
cd ~/git clone https://github.com/portabilis/i-diario.gitcd i-diario

Banco de dados

Faça a cópia do arquivo configuração de banco de dados:
cp config/database.sample.yml config/database.yml

Edite o arquivos com as configurações de conexão. Lembre-se de utilizar um senha segura e usuário apenas com permissão a tabela do sistema. Meu arquivo ficou da seguinte forma, atentando:

default: &default
  adapter: postgresql
  encoding: utf8
  pool: 50
  username: 'camargo'
  password: 'NleP%6wGI04i'
  host: localhost

production:
  <<: *default
  database: idiario_production 

development:
  <<: *default
  database: idiario_development

test:
  <<: *default
  database: idiario_te

Instalação Ruby

Vou utilizar o rbenv como gerenciador de versão. Faça a instalação conforme documentação constante no projeto.

Para instalação da versão 2.3.7 é necessário instalar algumas dependências:
sudo apt install gcc make libssl1.0-dev libreadline-dev zlib1g-dev libpq-dev g++

O seguinte comando para instalação do ruby:
rbenv install 2.3.7

Após é definido a versão que será utilizado, como existe apenas esse projeto, faço da seguinte forma:
rbenv global 2.3.7

Então instalo o bundler, na versão específica para o projeto:
gem install bundler -v '1.17.3'

Instala as gems do projeto.
bundler install

Configurando

Crie o arquivo config/secrets.yml com o seguinte conteúdo, ajustando conforme seus parâmetros. É possível colocar mais ambientes além de development no mesmo arquivo.

development:
  secret_key_base: CHAVE_SECRETA
  SMTP_ADDRESS: SMTP_ADDRESS
  SMTP_PORT: SMTP_PORT
  SMTP_DOMAIN: SMTP_DOMAIN
  SMTP_USER_NAME: SMTP_USER_NAME
  SMTP_PASSWORD: SMTP_PASSWORD
  BUCKET_NAME: S3_BUCKET_NAME

production:
  secret_key_base: CHAVE_SECRETA
  SMTP_ADDRESS: SMTP_ADDRESS
  SMTP_PORT: SMTP_PORT
  SMTP_DOMAIN: SMTP_DOMAIN
  SMTP_USER_NAME: SMTP_USER_NAME
  SMTP_PASSWORD: SMTP_PASSWORD
  BUCKET_NAME: S3_BUCKET_NAME

O valor para secret_key_base pode ser criado com o comando

Crie o arquivo config/aws.yml com o seguinte conteúdo, ajustando para os seus parâmetro, também sendo possível adicionar outros ambientes além de development:

development:
  access_key_id: AWS_ACCESS_KEY_ID
  secret_access_key: AWS_SECRET_ACCESS_KEY

Crie a base de dados:

bundle exec rake db:create
bundle exec rake db:migrate

Gere seus arquivos de mensagem de erro personalizada:

cp public/404.html.sample public/404.html
cp public/500.html.sample public/500.html

Crie a entidade:

bundle exec rake entity:setup NAME=prefeitura2 DOMAIN=<dominio> DATABASE=prefeitura_diario

Então crio o usuário admin pelo console do rails, bundle exec rails console e insiro o conteúdo, ajustando para minhas necessidades, utilize exit para sair do console:

Entity.last.using_connection {
  User.create!(
    email: 'admin@portabilis.com.br',
    password: '123456789',
    password_confirmation: '123456789',
    status: 'active',
    kind: 'employee',
    admin:  true
  )
}

Então inicialize seu servidor rails.

bundle exec rails server

Você pode alterar o ambiente, por padrão é development, utilizando o RAILS_ENV. Note que há parâmetros também no rails server que permitem mudar porta e IP de escuta entre outros, por exemplo:

RAILS_ENV=production bundle exec rails server -b 0.0.0.0 -p 8080

Alguns dados seus privados estão públicos

@robson configuração do banco? Só exemplo.

esses dados ________