mirror of
https://github.com/lloeki/islo.git
synced 2025-12-06 10:34:40 +01:00
74 lines
2.1 KiB
Markdown
74 lines
2.1 KiB
Markdown
# Islo - Self-contained apps
|
|
|
|
Make apps completely self-contained by abstracting service process settings and execution.
|
|
|
|
## Quick, show me how to use my favorite daemon!
|
|
|
|
First, install Islo:
|
|
|
|
```
|
|
$ gem install islo
|
|
```
|
|
|
|
Then, a nice example might be worth a thousand words, so here goes:
|
|
|
|
### MySQL or MariaDB
|
|
|
|
```
|
|
$ islo mysql_install_db # creates database in db/mysql
|
|
$ islo mysqld # starts server without daemonizing[^1]
|
|
$ islo mysql # connects to running server via unix socket in tmp/sockets
|
|
```
|
|
|
|
### Redis
|
|
|
|
```
|
|
$ islo redis-init # creates directory in db/redis
|
|
$ islo redis-server # starts server without daemonizing[^1]
|
|
$ islo redis-cli # connects to server via unix socket in tmp/sockets
|
|
```
|
|
|
|
### PostgreSQL
|
|
|
|
```
|
|
$ islo initdb # creates directory in db/postgres
|
|
$ islo postgres # starts server without daemonizing[^1]
|
|
$ islo psql # connects to server via unix socket in tmp/sockets
|
|
```
|
|
|
|
[^1]: Best used in a [Procfile](https://github.com/ddollar/foreman)
|
|
|
|
## What's more to know?
|
|
|
|
- Additional arguments are passed to the command.
|
|
|
|
Run `islo --help` for details.
|
|
|
|
- Servers will listen only on unix sockets, TCP will be disabled.
|
|
|
|
This saves headaches when you have to handle multiple projects, and thus
|
|
conflicting ports. Also, it's too easy to forget not to listen for the world.
|
|
|
|
## My service is installed in a non-standard location/I want to use different versions in different projects
|
|
|
|
Configuration is a pending item, which will make locations selectable.
|
|
|
|
## I don't like how it assumes a Rails project layout
|
|
|
|
Configuration is a pending item, which will help set relevant paths.
|
|
|
|
## I've got a super service you don't seem to know about
|
|
|
|
Some configuration may help you soon. Also, contributions are welcome.
|
|
|
|
## I can't be bothered/always forget to type *islo* before my commands every single time!
|
|
|
|
Look soon enough under `support` for a few optional helpers for your favorite shell.
|
|
|
|
## I want to contribute. How?
|
|
|
|
Great! Write specs, have them all pass, respect rubocop, rebase on master and make your PR.
|
|
|
|
## License
|
|
|
|
MIT, see [LICENSE](LICENSE).
|