Sha256: 37a2fba81efeeb855e63dee5c8074daf447feada7fef5de868d0e58f53bb0a1f

Contents?: true

Size: 1.67 KB

Versions: 88

Compression:

Stored size: 1.67 KB

Contents

# Puma as a service using rc.d

Manage multilpe Puma servers as services on one box using FreeBSD's rc.d service.

## Dependencies

* `jq` - a command-line json parser is needed to parse the json in the config file

## Installation

    # Copy the puma script to the rc.d directory (make sure everyone has read/execute perms)
    sudo cp puma /usr/local/etc/rc.d/

    # Create an empty configuration file
    sudo touch /usr/local/etc/puma.conf

    # Enable the puma service
    sudo echo 'puma_enable="YES"' >> /etc/rc.conf

## Managing the jungle

Puma apps are referenced in /usr/local/etc/puma.conf by default.

Start the jungle running:

`service puma start`

This script will run at boot time.


You can also stop the jungle (stops ALL puma instances) by running:

`service puma stop`


To restart the jungle:

`service puma restart`

## Conventions

* The script expects:
  * a config file to exist under `config/puma.rb` in your app. E.g.: `/home/apps/my-app/config/puma.rb`.

You can always change those defaults by editing the scripts.

## Here's what a minimal app's config file should have

```
{
	"servers" : [
		{
			"dir": "/path/to/rails/project",
			"user": "deploy-user",
			"ruby_version": "ruby.version",
			"ruby_env": "rbenv"
		}
	]
}
```

## Before starting...

You need to customise `puma.conf` to:

* Set the right user your app should be running on unless you want root to execute it!
* Set the directory of the app
* Set the ruby version to execute
* Set the ruby environment (currently set to rbenv, since that is the only ruby environment currently supported)
* Add additional server instances following the scheme in the example

## Notes:

Only rbenv is currently supported.

Version data entries

88 entries across 85 versions & 5 rubygems

Version Path
puma-4.3.12-java tools/jungle/rc.d/README.md
puma-4.3.12 tools/jungle/rc.d/README.md
puma-4.3.11-java tools/jungle/rc.d/README.md
puma-4.3.11 tools/jungle/rc.d/README.md
puma-4.3.10-java tools/jungle/rc.d/README.md
puma-4.3.10 tools/jungle/rc.d/README.md
puma-4.3.9 tools/jungle/rc.d/README.md
puma-4.3.9-java tools/jungle/rc.d/README.md
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/puma-5.2.2/docs/jungle/rc.d/README.md
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/3.0.0/gems/puma-5.2.1/docs/jungle/rc.d/README.md
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/3.0.0/gems/puma-5.1.1/docs/jungle/rc.d/README.md
puma-4.3.8-java tools/jungle/rc.d/README.md
puma-4.3.8 tools/jungle/rc.d/README.md
puma-5.2.2-java docs/jungle/rc.d/README.md
puma-5.2.2 docs/jungle/rc.d/README.md
tdiary-5.1.5 vendor/bundle/ruby/3.0.0/gems/puma-5.2.1/docs/jungle/rc.d/README.md
tdiary-5.1.5 vendor/bundle/ruby/3.0.0/gems/puma-5.1.1/docs/jungle/rc.d/README.md
puma-5.2.1-java docs/jungle/rc.d/README.md
puma-5.2.1 docs/jungle/rc.d/README.md
puma-5.2.0-java docs/jungle/rc.d/README.md