jay is a simple markdown editor for memo and taking minutes
Ruby | 3.0.0 |
Rails | 6.1.3 |
I recommend you to install new Ruby and Bundler on the top of Rbenv before install jay.
- Install rbenv + ruby-build (check https://github.com/sstephenson/rbenv#basic-github-checkout for details)
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv $ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build # Edit your shell dot files to add some path and environment variables.
- Install Ruby and Bundler
# Install ruby 3.0.0 $ rbenv install 3.0.0 # Installation check $ rbenv global 3.0.0 $ ruby -v # -> You will see: ruby 3.0.0... # Install bundler for your new Ruby $ gem install bundler # Activate bundler $ rbenv rehash # Get back to your system default Ruby if you want $ rbenv global system # say, /usr/bin/ruby $ ruby -v
- clone jay from github
$ git clone https://github.com/nomlab/jay.git ~/Programs/jay
- Setup to use installed ruby
$ cd ~/Programs/jay $ ruby -v # -> You will see: ruby 3.0.0...
- Install vendor/bundle stuffs
$ bundle install --path vendor/bundle
- Setup secret key
$ bundle exec rake secret # -> You will see: foobarbuz... Copy the string. $ vim config/secrets.yml # -> Replace all <SECRETKEY> with the string outputted
- Initialize application settings from sample
$ cp config/application_settings_sample.yml config/application_settings.yml
- Set your github organization
$ vim config/application_settings.yml # Set as the following if your organization name is foobarbuz: # default: &default # github: # organization: foobarbuz
- Setup GitHub OAuth
- Register a new OAuth application
- Authorization callback URL
- http://example.com/auth/github/callback
- Set client id, client secret, allowed team id
$ vim config/application_settings.yml # Set as the following: # default: &default # oauth: # github: # client_id: foo # client_secret: bar # ## allowed_team_id is a github team id adllowed to login. # ## It can be checked by: # ## curl -u [your-github-account] https://api.github.com/orgs/:org/teams # allowed_team_id: buz
- Register a new OAuth application
- Setup incoming webhook
- GitHub
- Generate token
$ bundle exec rake secret # -> You will see: foobarbuz... Copy the string.
- Add webhook to your repository
- Payload URL
- http://example.com/incoming_webhook/github
- Secret
- foobarbuz…
- Which events would you like to trigger this webhook?
- Let me select individual events. -> Issues
- Set strategy and token
$ vim config/application_settings.yml # Set as the following: # default: &default # incoming_webhooks: # - strategy: github # token: foobarbuz
- Generate token
- GitHub
- create master.key
$ EDITOR='vi' bundle exec rails credential:edit
- Setup DB
$ bundle exec rake db:migrate $ bundle exec rake db:migrate RAILS_ENV=production
- Clone jay from github
$ git clone https://github.com/nomlab/jay.git ~/Programs/jay $ cd ~/Programs/jay
- Setup application settings
- See above items 3 ~ 6
- Setup jay image
$ ./scripts/setup-docker.sh jay # Replace "jay" with the name of user that runs jay container
# start
$ export RAILS_ENV="development"
$ export RAILS_SERVE_STATIC_FILES=true
$ bundle exec rails server -p 3000 -d -e "$RAILS_ENV"
$ open http://localhost:3000
# stop
$ kill $(cat tmp/pids/server.pid)
# start
$ export RAILS_ENV="production"
$ export RAILS_SERVE_STATIC_FILES=true
$ bundle exec rails server -p 3000 -d -e "$RAILS_ENV"
$ bundle exec rake assets:precompile RAILS_ENV="$RAILS_ENV"
$ bundle exec rake assets:precompile:image
$ open http://localhost:3000
# stop
$ kill $(cat tmp/pids/server.pid)
# start with foreground
$ ./scripts/jay-docker.sh start
# start with background
$ ./scripts/jay-docker.sh start -d
# stop
$ ./scripts/jay-docker.sh stop
- Copy service file to systemd service directory
$ sudo cp systemd_conf/jay.service /etc/systemd/system/jay.service
- Change below settings in service file to suit your environment
- Path of jay
- Port to bind
# manual start
$ sudo systemctl start jay
# manual stop
$ sudo systemctl stop jay
# check status
$ sudo systemctl status jay