roda-templates/README.md
2023-12-26 23:57:02 -06:00

46 lines
1.2 KiB
Markdown

# roda-templates
Install prereq: sudo apt install puma, sudo gem install roda --no-document
## Setup
### Prereq installs
Will need ruby; install it via package manager or a ruby manager like rbenv/ruby-build. Will need the roda gem, and then an application server such as puma (recommended), gunicorn, or passenger. My examples will use system ruby and puma.
#### Option 1: System wide packages
With this example, will basically just ignore the project's Gemfile. Debian 12 has a pretty current ruby version so just using it.
```
sudo apt install ruby ruby-rack puma
sudo gem install roda
```
#### Option 2: Bundler
Run the bundle command from the project's root directory
```
sudo apt install ruby ruby-bundler
bundle config set --local path 'vendor/bundle'
bundle install
```
## Run it
In the project root directory:
```
puma
```
This default to development mode. Run it in production mode with:
```
RACK_ENV=production puma
```
### Run it with systemd in production
Copy the example myapp.service file to `/etc/systemd/system/` and edit accordingly. The example assumes a user named "myapp" with a group name "myapp", the application files are in `/opt/myapp/`, and puma is the system puma.