tabster

Guitar tab web app with Crystal and React

tabster

Installation

shards install

openssl Issue/Fix

Needed to find openssl library (installed via brew install openssl) Needs pkg-config from brew install pkg-config too

# can put this in `.zshrc` / `.bash_profile` for ease of use:
export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig"

DB setup

To setup DB roles:

createuser --createdb tabster

To run migrations, create DB, etc, access sam via make:

make sam db:create
make sam db:migrate

Usage

To run the backend Kemal web app (port 3001, configurable in Makefile):

make tabster

To run the React dev server

yarn start

Heroku Setup

To setup the app with Heroku, first add the custom crystal buildpack:

heroku create app_name --buildpack https://github.com/84codes/heroku-buildpack-crystal.git

Then add the nodejs buildpack for yarn installation and building release assets:

heroku buildpacks:add --index 1 heroku/nodejs

Make sure the web service is initially set up to run one web node:

heroku ps:scale web=1

Heroku Release

To kick off a new deploy/release

git push heroku master

and to check which processes are running (web should be up):

heroku ps

On each release any pending migrations are ran via release: ./bin/sam db:migrate in the Procfile.

To run manual DB tasks, or sam tasks this can be done via:

heroku run sam db:migrate
heroku run sam db:rollback
heroku run sam some_other_task
Repository

tabster

Owner
Statistic
  • 1
  • 0
  • 19
  • 0
  • 8
  • almost 2 years ago
  • May 16, 2020
License

MIT License

Links
Synced at

Sun, 22 Dec 2024 12:09:14 GMT

Languages