Releases: tokaido/tokaidoapp
Tokaido 2.6
Tokaido 2.5
In this release:
- Ruby binary 2.5.5-p157 (latest 2.5 stable)
- RubyGems 3.0.4
- Ruby On Rails 5.1.7
- Redis 5.0.5 client and server binaries
- ImageMagick's convert binary
- Postgres.app detection
Tokaido 2.6.1
In this release:
- Ruby binary 2.6.3-p62 (latest 2.6 stable)
- RubyGems 3.0.4
- Ruby On Rails 5.2.3
- Redis 5.0.5 client and server binaries
- ImageMagick's convert binary
- Postgres.app detection
Tokaido 2.5.1
In this release:
- Ruby binary 2.5.5-p157 (latest 2.5 stable)
- RubyGems 3.0.4
- Ruby On Rails 5.2.3
- Redis 5.0.5 client and server binaries
- ImageMagick's convert binary
- Postgres.app detection
Tokaido 2.2
In this release:
- Ruby binary 2.2.2-p95 (latest 2.2 stable)
- RubyGems 2.4.6
- Ruby On Rails 4.2.1
- Redis 3.0.0 client and server binaries
- ImageMagick's convert binary
- Postgres.app detection
- Bug Fixes
Tokaido 2.1.6
In this release:
- Ruby binary 2.1.6-p336 (latest 2.1 stable)
- RubyGems 2.4.6
- Ruby On Rails 4.2.1
- Redis 3.0.0 client and server binaries
- ImageMagick's convert binary
- Postgres.app detection
- Bug Fixes
Tokaido 2.1.5 "Goat"
In this release:
- Ruby binary 2.1.5-p273
- RubyGems 2.4.6
- Ruby On Rails 4.2.1
- Redis 3.0.0 client and server binaries
- ImageMagick's convert binary
- Postgres.app detection
- Bug Fixes
Tokaido 2.1
In this release:
- Ruby binary 2.1.5-p273 (latest 2.1 stable)
- RubyGems 2.4.6
- Ruby On Rails 4.2
- Redis 2.8.19 client and server binaries
- ImageMagick's convert binary
- Postgres.app detection
Tokaido 1.0
v1.0 Bump to 1.0
First Prerelease!
This is the first prerelease of Tokaido.app!
Currently, Tokaido has two major areas of functionality:
- A precompiled binary Ruby (2.0)
- A UI that lists your apps, allows you to boot them, and makes them available at
http://appname.tokaido
The primary design goal of Tokaido was to keep everything completely isolated in the application. Rather than install Ruby into the system, making it vulnerable to environment problems or future changes, you launch a Terminal through the Tokaido application. Tokaido will set up the $PATH
, $GEM_HOME
and the rest of the required environment, reducing common failure scenarios that make Ruby hard to install or that emerge over time through environment changes or OS upgrades.
Using Tokaido's Ruby
To use the Tokaido Ruby, launch Tokaido.app and click "Open in Terminal"
. This will give you a full-fledged Ruby environment
This will give you a full-fledged Ruby environment in the command-line.
C Compilers
Tokaido ships with a precompiled version of the sqlite3
gem, which is sufficient for getting Rails up and running without a C compiler.
In practice, many gems require a C compiler at present, so production Ruby environments will require one.
If you already have one installed, that's great! Tokaido will automatically pick it up and update its rbconfig.rb
file to point at the installed C compiler.
If not, we recommend OSX GCC Installer, which you can download and install directly. Once you've installed it, restart Tokaido, and it will pick up the installed GCC and update rbconfig
.
Booting Your App
In addition to shipping an isolated Ruby environment, Tokaido also allows you to manage your applications through the application.
First, add your application to the UI.
Next, click "Boot App".
Tokaido will:
- Run
bundle install
to make sure everything's up to date. - If you have a
Procfile
, run theweb
section of theProcfile
. Otherwise, runbundle exec rackup -p $PORT
. - Make the booted application available to
appname.tokaido
(through a bunch of OSX-specific dark magic).
Note that in keeping with Tokaido's guiding principle, if you shut down the Tokaido app, all the machinery necessary to route requests from foo.tokaido
to the booted app will be shut down. This should allow you to run Apache and Tokaido on the same machine (although not at the same time).
Postgres.app
If you have Postgres.app
installed, "Open in Terminal"
will detect it and make the Postgres binaries and libraries available to the Terminal. This should make using Postgres.app with Tokaido seamless.
Note that this works by modifying environment variables at boot, so if you boot Postgres.app after opening the Terminal, you will need to reopen the Terminal.
Redis
Because Redis doesn't ship binaries, is very small, and is a common Rails dependency, Tokaido.app ships Redis binaries. They are available in "Open in Terminal"
, so you can open the Terminal and run redis-server
to get things rolling.
Eventually, we will support the full Procfile
, so simply including redis-server
in the Procfile
will do the trick.
Future
There's still a lot of work left to do.
You can see what we're working on by checking out our Trello Board.
At the moment, some high priorities are:
- Upgrade to the latest patch level of Ruby 2.0
- "Sorry, no app here" page if you go to
foo.tokaido
andfoo
is not booted. - Show a loading UI on initial app boot as the assets are unzipped
- Fix a bug where the
bundle install
run by the app doesn't have all of the environment available in "Open in Terminal" - Ability to update the Ruby code that powers application boot after initial boot (when a new version of the app is downloaded and run)
- Support "port-forward-only" apps in the UI (point
foo.tokaido
at any port whose lifecycle is manually managed) - Support
.dev
instead of.tokaido
(.tokaido
was originally chosen to allow running alongside Pow) tokaido .
to open the Tokaido UI from a directory in the Terminal and load the shell environment
Thanks
I got a lot of help over the past year working on Tokaido:
- Austin Bales, for the initial design work
- Patrick Gibson, for a lot of Cocoa help
- Martin Schürrer, for Cocoa help as we've gotten closer to initial release
And of course, all of the Backers, especially Heroku and BugHerd, who came in as the biggest sponsors. When the website rolls out, I'll have special thanks for all the Backers, as promised.
If anyone is interested in helping out, please get in touch ([email protected]). And make sure to file issues, pull requests, and comments about how to make this as awesome as possible.
Thanks to everyone for your patience.